Het Windows-dialoogvenster Uitvoeren in- of uitschakelen met PowerShell

In de ingewikkelde wereld van IT is het beheren van gebruikerstoegang tot bepaalde systeemfuncties van het grootste belang. Een van die functies is het dialoogvenster Windows uitvoeren. Maar waarom willen IT-professionals de toegang beperken? Deze handleiding gaat dieper in op het PowerShell-script dat is ontworpen om de toegankelijkheid van het dialoogvenster Uitvoeren te regelen en de implicaties van dergelijke acties.

Overzicht van het Windows-dialoogvenster Uitvoeren

  • Wat is het Windows-dialoogvenster Uitvoeren?

    • Het Windows-dialoogvenster Uitvoeren is een functie die gebruikers een snelle manier biedt om programma’s te starten, mappen te openen en systeemopdrachten uit te voeren. Door op Windows + R te drukken, verschijnt er een klein dialoogvenster waarin gebruikers direct opdrachten kunnen invoeren.
  • Hoe wordt het Windows-dialoogvenster Uitvoeren gebruikt?

    • Het wordt voornamelijk gebruikt voor snelle toegang. In plaats van door meerdere menu’s of mappen te navigeren, kunnen gebruikers gewoon een opdracht of pad in het dialoogvenster Uitvoeren typen om direct een programma te starten of een map te openen.

Gavin’s mening

Het dialoogvenster Uitvoeren is een van de belangrijkste plaatsen waar mensen naartoe gaan als ze toegang willen krijgen tot het systeem of commando’s willen uitvoeren. Als primair punt voor het uitvoeren van commando’s en programma’s, zorgt het vergrendelen hiervan voor een meer gecontroleerde omgeving en vermindert het risico aanzienlijk.

Hoewel dit niet het enige punt van uitvoering is voor commando’s en programma’s, wordt het het meest gebruikt door mensen die niet noodzakelijkerwijs ervaren zijn in systeembeheer. Het vergrendelen hiervan moet worden gebruikt in combinatie met andere beveiligingsbeperkingen (zoals het voorkomen van toegang tot het register of de opdrachtprompt).

Beveiligingsimplicaties van het uitschakelen van het Windows-dialoogvenster Uitvoeren

Wat zijn de risico’s?

Door het dialoogvenster Uitvoeren uit te schakelen, kun je onbedoeld de productiviteit belemmeren. Sommige geavanceerde gebruikers vertrouwen op het dialoogvenster Uitvoeren voor snelle taken en systeembeheer. Bovendien kan het knoeien met systeeminstellingen tot andere onbedoelde problemen leiden als dit niet correct gebeurt.

Wat zijn de voordelen?

Het belangrijkste voordeel is een betere beveiliging. Het uitschakelen van het dialoogvenster Uitvoeren kan ongeoorloofde of kwaadwillige acties voorkomen, vooral van gebruikers die misschien niet goed op de hoogte zijn van systeembewerkingen. Het vermindert het risico op onbedoelde wijzigingen of het uitvoeren van schadelijke commando’s.

Hoe kun je de risico’s beperken?

Voordat je veranderingen doorvoert, is het essentieel om:

  • Communiceer met gebruikers, vooral met degenen die mogelijk worden beĂŻnvloed door de verandering.
  • Alternatieve methoden of gereedschappen bieden voor taken die voorheen werden uitgevoerd met het dialoogvenster Uitvoeren.
  • Zorg ervoor dat er een manier is om de wijzigingen snel terug te draaien als dat nodig is.

Achtergrond

Het meegeleverde PowerShell-script is een robuust hulpmiddel voor IT-professionals en Managed Service Providers (MSP’s) om de toegankelijkheid van het dialoogvenster Uitvoeren te regelen. In omgevingen waar beveiliging een topprioriteit is, zijn dergelijke tools onmisbaar. De mogelijkheid van het script om specifieke gebruikers uit te sluiten van deze beperkingen voegt een laag van flexibiliteit toe, die ervoor zorgt dat noodzakelijke toegang niet volledig wordt ingetrokken.

Het Script

#Requires -Version 2.0

<#
.SYNOPSIS
    Disables or enables the Run Dialog for all users and new users.
.DESCRIPTION
    Disables or enables the Run Dialog for all users and new users, and there is an option to exclude users.
    Reboot is required to apply changes.
.EXAMPLE
    -Disable
    Disables the Run Dialog for all users and new users.
.EXAMPLE
    -Disable -ExcludeUsers "Test1", "Test2"
    Disables the Run Dialog for all users and new users, but excludes Test1 and Test2 users.
.EXAMPLE
    -Enable
    Enables the Run Dialog for all users and new users.
.EXAMPLE
    -Enable -ExcludeUsers "Test1", "Test2"
    Enables the Run Dialog for all users and new users, but excludes Test1 and Test2 users.
.OUTPUTS
    None
.NOTES
    General notes
    Release Notes:
    Initial Release
By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/nl/gebruiksvoorwaarden/
    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. 
    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. 
    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. 
    Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. 
    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. 
    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. 
    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#>

[CmdletBinding()]
param (
    [Parameter(Mandatory = $true, ParameterSetName = "Disable")]
    [Switch]
    $Disable,
    [Parameter(Mandatory = $true, ParameterSetName = "Enable")]
    [Switch]
    $Enable,
    [Parameter(Mandatory = $false, ParameterSetName = "Disable")]
    [Parameter(Mandatory = $false, ParameterSetName = "Enable")]
    [String[]]
    $ExcludeUsers
)

begin {
    function Set-ItemProp {
        param (
            $Path,
            $Name,
            $Value,
            [ValidateSet("DWord", "QWord", "String", "ExpandedString", "Binary", "MultiString", "Unknown")]
            $PropertyType = "DWord"
        )
        # Do not output errors and continue
        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::SilentlyContinue
        if (-not $(Test-Path -Path $Path)) {
            # Check if path does not exist and create the path
            New-Item -Path $Path -Force | Out-Null
        }
        if ((Get-ItemProperty -Path $Path -Name $Name)) {
            # Update property and print out what it was changed from and changed to
            $CurrentValue = Get-ItemProperty -Path $Path -Name $Name
            try {
                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error $_
            }
            Write-Host "$Path$Name changed from $CurrentValue to $(Get-ItemProperty -Path $Path -Name $Name)"
        }
        else {
            # Create property with value
            try {
                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error $_
            }
            Write-Host "Set $Path$Name to $(Get-ItemProperty -Path $Path -Name $Name)"
        }
        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::Continue
    }
}
process {
    $Path = "SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer"
    $Name = "NoRun"
    $Value = if ($Disable) { 1 }elseif ($Enable) { 0 }else {
        Write-Host "Either -Enable or -Disable is required to function."
        exit 0
    }

    # Get each user profile SID and Path to the profile
    $UserProfiles = Get-ItemProperty "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionProfileList*" |
        Where-Object { $_.PSChildName -match "S-1-5-21-(d+-?){4}$" } |
        Select-Object @{Name = "SID"; Expression = { $_.PSChildName } }, @{Name = "UserHive"; Expression = { "$($_.ProfileImagePath)NTuser.dat" } }, @{Name = "UserName"; Expression = { "$($_.ProfileImagePath | Split-Path -Leaf)" } } |
        Where-Object { $ExcludeUsers -notcontains $_.UserName }
    
    # Add in the .DEFAULT User Profile
    $DefaultProfile = "" | Select-Object SID, UserHive, UserName
    $DefaultProfile.SID = ".DEFAULT"
    $DefaultProfile.UserHive = "C:UsersPublicNTuser.dat"
    try {
        # Fix for edge case where PSObject is missing the add operator
        $UserProfiles = {
            $UserProfiles | ForEach-Object { $_ }
            $DefaultProfile
        }.Invoke()
    }
    catch {
        Write-Host "Failed to update default profile, skipping."
    }
    

    # Loop through each profile on the machine
    Foreach ($UserProfile in $UserProfiles) {
        # Load User ntuser.dat if it's not already loaded
        If (($ProfileWasLoaded = Test-Path -Path "Registry::HKEY_USERS$($UserProfile.SID)") -eq $false) {
            Start-Process -FilePath "cmd.exe" -ArgumentList "/C reg.exe LOAD HKU$($UserProfile.SID) $($UserProfile.UserHive)" -Wait -WindowStyle Hidden
        }
        # Manipulate the registry
        $key = "Registry::HKEY_USERS$($UserProfile.SID)$($Path)"
        Set-ItemProp -Path $key -Name $Name -Value $Value
 
        # Unload NTuser.dat
        If ($ProfileWasLoaded -eq $false) {
            [gc]::Collect()
            Start-Sleep 1
            Start-Process -FilePath "cmd.exe" -ArgumentList "/C reg.exe UNLOAD HKU$($UserProfile.SID)" -Wait -WindowStyle Hidden | Out-Null
        }
    }
}
end {}

 |

#Requires -Version 2.0

<#
.SYNOPSIS
    Disables or enables the Run Dialog for all users and new users.
.DESCRIPTION
    Disables or enables the Run Dialog for all users and new users, and there is an option to exclude users.
    Reboot is required to apply changes.
.EXAMPLE
    -Disable
    Disables the Run Dialog for all users and new users.
.EXAMPLE
    -Disable -ExcludeUsers "Test1", "Test2"
    Disables the Run Dialog for all users and new users, but excludes Test1 and Test2 users.
.EXAMPLE
    -Enable
    Enables the Run Dialog for all users and new users.
.EXAMPLE
    -Enable -ExcludeUsers "Test1", "Test2"
    Enables the Run Dialog for all users and new users, but excludes Test1 and Test2 users.
.OUTPUTS
    None
.NOTES
    General notes
    Release Notes:
    Initial Release
By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/nl/gebruiksvoorwaarden/
    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. 
    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. 
    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. 
    Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. 
    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. 
    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. 
    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#>

[CmdletBinding()]
param (
    [Parameter(Mandatory = $true, ParameterSetName = "Disable")]
    [Switch]
    $Disable,
    [Parameter(Mandatory = $true, ParameterSetName = "Enable")]
    [Switch]
    $Enable,
    [Parameter(Mandatory = $false, ParameterSetName = "Disable")]
    [Parameter(Mandatory = $false, ParameterSetName = "Enable")]
    [String[]]
    $ExcludeUsers
)

begin {
    function Set-ItemProp {
        param (
            $Path,
            $Name,
            $Value,
            [ValidateSet("DWord", "QWord", "String", "ExpandedString", "Binary", "MultiString", "Unknown")]
            $PropertyType = "DWord"
        )
        # Do not output errors and continue
        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::SilentlyContinue
        if (-not $(Test-Path -Path $Path)) {
            # Check if path does not exist and create the path
            New-Item -Path $Path -Force | Out-Null
        }
        if ((Get-ItemProperty -Path $Path -Name $Name)) {
            # Update property and print out what it was changed from and changed to
            $CurrentValue = Get-ItemProperty -Path $Path -Name $Name
            try {
                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error $_
            }
            Write-Host "$Path$Name changed from $CurrentValue to $(Get-ItemProperty -Path $Path -Name $Name)"
        }
        else {
            # Create property with value
            try {
                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error $_
            }
            Write-Host "Set $Path$Name to $(Get-ItemProperty -Path $Path -Name $Name)"
        }
        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::Continue
    }
}
process {
    $Path = "SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer"
    $Name = "NoRun"
    $Value = if ($Disable) { 1 }elseif ($Enable) { 0 }else {
        Write-Host "Either -Enable or -Disable is required to function."
        exit 0
    }

    # Get each user profile SID and Path to the profile
    $UserProfiles = Get-ItemProperty "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionProfileList*" |
        Where-Object { $_.PSChildName -match "S-1-5-21-(d+-?){4}$" } |
        Select-Object @{Name = "SID"; Expression = { $_.PSChildName } }, @{Name = "UserHive"; Expression = { "$($_.ProfileImagePath)NTuser.dat" } }, @{Name = "UserName"; Expression = { "$($_.ProfileImagePath | Split-Path -Leaf)" } } |
        Where-Object { $ExcludeUsers -notcontains $_.UserName }
    
    # Add in the .DEFAULT User Profile
    $DefaultProfile = "" | Select-Object SID, UserHive, UserName
    $DefaultProfile.SID = ".DEFAULT"
    $DefaultProfile.UserHive = "C:UsersPublicNTuser.dat"
    try {
        # Fix for edge case where PSObject is missing the add operator
        $UserProfiles = {
            $UserProfiles | ForEach-Object { $_ }
            $DefaultProfile
        }.Invoke()
    }
    catch {
        Write-Host "Failed to update default profile, skipping."
    }
    

    # Loop through each profile on the machine
    Foreach ($UserProfile in $UserProfiles) {
        # Load User ntuser.dat if it's not already loaded
        If (($ProfileWasLoaded = Test-Path -Path "Registry::HKEY_USERS$($UserProfile.SID)") -eq $false) {
            Start-Process -FilePath "cmd.exe" -ArgumentList "/C reg.exe LOAD HKU$($UserProfile.SID) $($UserProfile.UserHive)" -Wait -WindowStyle Hidden
        }
        # Manipulate the registry
        $key = "Registry::HKEY_USERS$($UserProfile.SID)$($Path)"
        Set-ItemProp -Path $key -Name $Name -Value $Value
 
        # Unload NTuser.dat
        If ($ProfileWasLoaded -eq $false) {
            [gc]::Collect()
            Start-Sleep 1
            Start-Process -FilePath "cmd.exe" -ArgumentList "/C reg.exe UNLOAD HKU$($UserProfile.SID)" -Wait -WindowStyle Hidden | Out-Null
        }
    }
}
end {}

 |

#Requires -Version 2.0

<#
.SYNOPSIS
    Disables or enables the Run Dialog for all users and new users.
.DESCRIPTION
    Disables or enables the Run Dialog for all users and new users, and there is an option to exclude users.
    Reboot is required to apply changes.
.EXAMPLE
    -Disable
    Disables the Run Dialog for all users and new users.
.EXAMPLE
    -Disable -ExcludeUsers "Test1", "Test2"
    Disables the Run Dialog for all users and new users, but excludes Test1 and Test2 users.
.EXAMPLE
    -Enable
    Enables the Run Dialog for all users and new users.
.EXAMPLE
    -Enable -ExcludeUsers "Test1", "Test2"
    Enables the Run Dialog for all users and new users, but excludes Test1 and Test2 users.
.OUTPUTS
    None
.NOTES
    General notes
    Release Notes:
    Initial Release
By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use.
    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. 
    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. 
    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. 
    Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. 
    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. 
    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. 
    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#>

[CmdletBinding()]
param (
    [Parameter(Mandatory = $true, ParameterSetName = "Disable")]
    [Switch]
    $Disable,
    [Parameter(Mandatory = $true, ParameterSetName = "Enable")]
    [Switch]
    $Enable,
    [Parameter(Mandatory = $false, ParameterSetName = "Disable")]
    [Parameter(Mandatory = $false, ParameterSetName = "Enable")]
    [String[]]
    $ExcludeUsers
)

begin {
    function Set-ItemProp {
        param (
            $Path,
            $Name,
            $Value,
            [ValidateSet("DWord", "QWord", "String", "ExpandedString", "Binary", "MultiString", "Unknown")]
            $PropertyType = "DWord"
        )
        # Do not output errors and continue
        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::SilentlyContinue
        if (-not $(Test-Path -Path $Path)) {
            # Check if path does not exist and create the path
            New-Item -Path $Path -Force | Out-Null
        }
        if ((Get-ItemProperty -Path $Path -Name $Name)) {
            # Update property and print out what it was changed from and changed to
            $CurrentValue = Get-ItemProperty -Path $Path -Name $Name
            try {
                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error $_
            }
            Write-Host "$Path$Name changed from $CurrentValue to $(Get-ItemProperty -Path $Path -Name $Name)"
        }
        else {
            # Create property with value
            try {
                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error $_
            }
            Write-Host "Set $Path$Name to $(Get-ItemProperty -Path $Path -Name $Name)"
        }
        $ErrorActionPreference = [System.Management.Automation.ActionPreference]::Continue
    }
}
process {
    $Path = "SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer"
    $Name = "NoRun"
    $Value = if ($Disable) { 1 }elseif ($Enable) { 0 }else {
        Write-Host "Either -Enable or -Disable is required to function."
        exit 0
    }

    # Get each user profile SID and Path to the profile
    $UserProfiles = Get-ItemProperty "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionProfileList*" |
        Where-Object { $_.PSChildName -match "S-1-5-21-(d+-?){4}$" } |
        Select-Object @{Name = "SID"; Expression = { $_.PSChildName } }, @{Name = "UserHive"; Expression = { "$($_.ProfileImagePath)NTuser.dat" } }, @{Name = "UserName"; Expression = { "$($_.ProfileImagePath | Split-Path -Leaf)" } } |
        Where-Object { $ExcludeUsers -notcontains $_.UserName }
    
    # Add in the .DEFAULT User Profile
    $DefaultProfile = "" | Select-Object SID, UserHive, UserName
    $DefaultProfile.SID = ".DEFAULT"
    $DefaultProfile.UserHive = "C:UsersPublicNTuser.dat"
    try {
        # Fix for edge case where PSObject is missing the add operator
        $UserProfiles = {
            $UserProfiles | ForEach-Object { $_ }
            $DefaultProfile
        }.Invoke()
    }
    catch {
        Write-Host "Failed to update default profile, skipping."
    }
    

    # Loop through each profile on the machine
    Foreach ($UserProfile in $UserProfiles) {
        # Load User ntuser.dat if it's not already loaded
        If (($ProfileWasLoaded = Test-Path -Path "Registry::HKEY_USERS$($UserProfile.SID)") -eq $false) {
            Start-Process -FilePath "cmd.exe" -ArgumentList "/C reg.exe LOAD HKU$($UserProfile.SID) $($UserProfile.UserHive)" -Wait -WindowStyle Hidden
        }
        # Manipulate the registry
        $key = "Registry::HKEY_USERS$($UserProfile.SID)$($Path)"
        Set-ItemProp -Path $key -Name $Name -Value $Value
 
        # Unload NTuser.dat
        If ($ProfileWasLoaded -eq $false) {
            [gc]::Collect()
            Start-Sleep 1
            Start-Process -FilePath "cmd.exe" -ArgumentList "/C reg.exe UNLOAD HKU$($UserProfile.SID)" -Wait -WindowStyle Hidden | Out-Null
        }
    }
}
end {}

 

Toegang tot 300+ scripts in de NinjaOne Dojo

Toegang Krijgen

Gedetailleerd overzicht

Het script begint met het instellen van parameters, waardoor gebruikers het dialoogvenster Uitvoeren kunnen uitschakelen of inschakelen en zelfs specifieke gebruikers kunnen uitsluiten. Een functie, Set-ItemProp, wordt dan gedefinieerd om het maken of wijzigen van registersleutels te beheren. Het belangrijkste proces bestaat uit het definiëren van het registerpad met betrekking tot het dialoogvenster Uitvoeren, het ophalen van alle gebruikersprofielen en vervolgens het doorlopen van elk profiel om het register dienovereenkomstig aan te passen.

Potentiële Gebruikssituaties

Neem een IT-professional, Sarah, aan een universiteit. Om ervoor te zorgen dat de labcomputers alleen voor academische doeleinden worden gebruikt, besluit Sarah om het dialoogvenster Uitvoeren uit te schakelen, waardoor de profielen van de labassistenten worden uitgesloten. Met dit script kan Alex deze balans tussen veiligheid en toegankelijkheid bereiken.

Vergelijkingen

Hoewel Groepsbeleid een manier biedt om het dialoogvenster Uitvoeren uit te schakelen, biedt het mogelijk niet de granulariteit die dit script biedt. De directe benadering van dit script biedt meer flexibiliteit, vooral in grotere organisaties.

FAQs

  • Kan ik dit script gebruiken om meerdere gebruikers uit te sluiten?
    Ja, meerdere gebruikers uitsluiten is mogelijk met de -ExcludeUsers parameter.
  • Is een herstart vereist nadat het script is uitgevoerd?
    Ja, een herstart zorgt ervoor dat de wijzigingen worden toegepast.

Aanbevelingen

  • Maak een back-up van de huidige registerstatus voordat u wijzigingen aanbrengt.
  • Test het script eerst in een gecontroleerde omgeving.
  • Houd de lijst met uitgesloten gebruikers bijgewerkt.

Slotbeschouwingen:

In de dynamische wereld van IT bieden tools als NinjaOne een gecentraliseerd platform voor IT-beheer. Het integreren van scripts zoals het besprokene zorgt ervoor dat IT-professionals elke uitdaging aankunnen, vooral als het gaat om het beheren van functies zoals het Windows Run Dialog.

Next Steps

Building an efficient and effective IT team requires a centralized solution that acts as your core service deliver tool. NinjaOne enables IT teams to monitor, manage, secure, and support all their devices, wherever they are, without the need for complex on-premises infrastructure.

Learn more about NinjaOne Remote Script Deployment, check out a live tour, or start your free trial of the NinjaOne platform.

Categorieën:

Dit vindt u misschien ook leuk

Ă—

Zie NinjaOne in actie!

Door dit formulier in te dienen geef ik aan akkoord te gaan met het privacybeleid van NinjaOne.

NinjaOne Algemene Voorwaarden

Door op de knop “Ik accepteer” hieronder te klikken, geeft u aan dat u de volgende wettelijke voorwaarden en onze Gebruiksvoorwaarden accepteert:

  • Eigendomsrechten: NinjaOne bezit en blijft eigenaar van alle rechten, aanspraken en belangen in en op het script (inclusief het auteursrecht). NinjaOne geeft u een beperkte licentie om het script te gebruiken in overeenstemming met deze wettelijke voorwaarden.
  • Gebruiksbeperking: U mag het script alleen gebruiken voor uw legitieme persoonlijke of interne bedrijfsdoeleinden en u mag het script niet delen met derden.
  • Republicatieverbod: Het is onder geen beding toegestaan om het script opnieuw te publiceren in een scriptbibliotheek die toebehoort aan of onder controle staat van een andere softwareleverancier.
  • Garantie disclaimer: Het script wordt geleverd “zoals het is” en “zoals het beschikbaar is”, zonder enige vorm van garantie. NinjaOne belooft of garandeert niet dat het script vrij van gebreken zal zijn of dat het aan uw specifieke behoeften of verwachtingen zal voldoen.
  • Risicoaanvaarding: Het gebruik van het script is op eigen risico. U erkent dat het gebruik van het script bepaalde inherente risico’s met zich meebrengt en u begrijpt en aanvaardt elk van deze risico’s.
  • Verklaring van afstand en vrijwaring: U zult NinjaOne niet verantwoordelijk houden voor enige nadelige of onbedoelde gevolgen die voortvloeien uit uw gebruik van het script en u doet afstand van alle wettelijke of billijke rechten of rechtsmiddelen die u tegen NinjaOne kunt hebben met betrekking tot uw gebruik van het script.
  • EULA: Als u een NinjaOne-klant bent, is uw gebruik van het script onderworpen aan de licentieovereenkomst voor eindgebruikers die op u van toepassing is (EULA).