Modificare le impostazioni globali
L'esempio seguente Windows PowerShell script usa i provider di Strumentazione gestione Windows (WMI) per modificare le impostazioni globali per Il filtro da tastiera.
La funzione Get-Setting recupera il valore di un'impostazione globale per Il filtro della tastiera.
Nel primo script la funzione Set-DisableKeyboardFilterForAdministrators modifica il valore dell'impostazione DisableKeyboardFilterForAdministrators .
Nel secondo script la funzione Set-ForceOffAccessibility modifica il valore dell'impostazione ForceOffAccessibility .
Set-DisableKeyboardFilterForAdministrators.ps1
#
# Copyright (C) Microsoft. All rights reserved.
#
<#
.Synopsis
This script shows how to enumerate WEKF_Settings to find global settings
that can be set on the keyboard filter. In this specific script, the
global setting to be set is "DisableKeyboardFilterForAdministrators".
.Parameter ComputerName
Optional parameter to specify a remote computer that this script should
manage. If not specified, the script will execute all WMI operations
locally.
.Parameter On
Switch if present that sets "DisableKeyboardFilterForAdministrators" to
true. If not present, sets the setting to false.
#>
param (
[Switch] $On = $False,
[String] $ComputerName
)
$CommonParams = @{"namespace"="root\standardcimv2\embedded"};
if ($PSBoundParameters.ContainsKey("ComputerName")) {
$CommonParams += @{"ComputerName" = $ComputerName};
}
function Get-Setting([String] $Name) {
<#
.Synopsis
Get a WMIObject by name from WEKF_Settings
.Parameter Name
The name of the setting, which is the key for the WEKF_Settings class.
#>
$Entry = Get-WMIObject -class WEKF_Settings @CommonParams |
where {
$_.Name -eq $Name
}
return $Entry
}
function Set-DisableKeyboardFilterForAdministrators([Bool] $Value) {
<#
.Synopsis
Set the DisableKeyboardFilterForAdministrators setting to true or
false.
.Description
Set DisableKeyboardFilterForAdministrators to true or false based
on $Value
.Parameter Value
A Boolean value
#>
$Setting = Get-Setting("DisableKeyboardFilterForAdministrators")
if ($Setting) {
if ($Value) {
$Setting.Value = "true"
} else {
$Setting.Value = "false"
}
$Setting.Put() | Out-Null;
} else {
Write-Error "Unable to find DisableKeyboardFilterForAdministrators setting";
}
}
Set-DisableKeyboardFilterForAdministrators $On
Set-ForceOffAccessibility.ps1
#
# Copyright (C) Microsoft. All rights reserved.
#
<#
.Synopsis
This script shows how to enumerate WEKF_Settings to find global settings
that can be set on the keyboard filter. In this specific script, the
global setting to be set is "ForceOffAccessibility".
.Parameter ComputerName
Optional parameter to specify a remote computer that this script should
manage. If not specified, the script will execute all WMI operations
locally.
.Parameter Enabled
Switch if present that sets "ForceOffAccessibility" to true. If not
present, sets the setting to false.
#>
param (
[Switch] $Enabled = $False,
[String] $ComputerName
)
$CommonParams = @{"namespace"="root\standardcimv2\embedded"};
if ($PSBoundParameters.ContainsKey("ComputerName")) {
$CommonParams += @{"ComputerName" = $ComputerName};
}
function Get-Setting([String] $Name) {
<#
.Synopsis
Get a WMIObject by name from WEKF_Settings
.Parameter Name
The name of the setting, which is the key for the WEKF_Settings class.
#>
$Entry = Get-WMIObject -class WEKF_Settings @CommonParams |
where {
$_.Name -eq $Name
}
return $Entry
}
function Set-ForceOffAccessibility([Bool] $Value) {
<#
.Synopsis
Set the ForceOffAccessibility setting to true or false.
.Description
Set ForceOffAccessibility to true or false based on $Value
.Parameter Value
A Boolean value
#>
$Setting = Get-Setting("ForceOffAccessibility")
if ($Setting) {
if ($Value) {
$Setting.Value = "true"
} else {
$Setting.Value = "false"
}
$Setting.Put() | Out-Null;
} else {
Write-Error "Unable to find ForceOffAccessibility setting";
}
}
Set-ForceOffAccessibility $Enabled
Argomenti correlati
esempi di script Windows PowerShell per il filtro da tastiera