Set-WmiInstance
建立或更新現有 Windows Management Instrumentation (WMI) 類別的實例。
語法
class (預設值)
Set-WmiInstance
[-Class] <String>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
object
Set-WmiInstance
-InputObject <ManagementObject>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
path
Set-WmiInstance
-Path <String>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
WQLQuery
Set-WmiInstance
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
query
Set-WmiInstance
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
list
Set-WmiInstance
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Set-WmiInstance Cmdlet 會建立或更新現有 Windows Management Instrumentation (WMI) 類別的實例。
建立或更新的實例會寫入 WMI 存放庫。
新的 CIM Cmdlet 引進 Windows PowerShell 3.0,會執行與 WMI Cmdlet 相同的工作。
CIM Cmdlet 符合 WS-Management (WSMan) 標準和通用資訊模型 (CIM) 標準。
這可讓 Cmdlet 使用相同的技術來管理 Windows 計算機,以及執行其他作業系統的電腦。
請考慮使用 Set-WmiInstance 或 New-CimInstance Cmdlet,而不是使用 。
範例
範例 1:設定 WMI 記錄層級
PS C:\> Set-WmiInstance -Class Win32_WMISetting -Argument @{LoggingLevel=2}
__GENUS : 2
__CLASS : Win32_WMISetting
__SUPERCLASS : CIM_Setting
__DYNASTY : CIM_Setting
__RELPATH : Win32_WMISetting=@
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_Setting}
__SERVER : SYSTEM01
__NAMESPACE : root\cimv2
__PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace : \\root\cimv2
ASPScriptEnabled : False
AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X :
BackupInterval :
BackupLastTime :
BuildVersion : 6001.18000
Caption :
DatabaseDirectory : C:\Windows\system32\wbem\repository
DatabaseMaxSize :
Description :
EnableAnonWin9xConnections :
EnableEvents : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects :
HighThresholdOnEvents : 20000000
InstallationDirectory : C:\Windows\system32\wbem
LastStartupHeapPreallocation :
LoggingDirectory : C:\Windows\system32\wbem\Logs\
LoggingLevel : 2
LowThresholdOnClientObjects :
LowThresholdOnEvents : 10000000
MaxLogFileSize : 65536
MaxWaitOnClientObjects :
MaxWaitOnEvents : 2000
MofSelfInstallDirectory :
SettingID :
此命令會將 WMI 記錄層級設定為 2。
命令會在自變數參數中傳遞要設定的屬性,並將值一起視為值組。
參數會採用 @{property = value} 建構所定義的哈希表。
傳回的類別資訊會反映新的值。
範例 2:建立環境變數及其值
PS C:\> Set-WmiInstance -Class win32_environment -Argument @{Name="testvar";VariableValue="testvalue";UserName="<SYSTEM>"}
__GENUS : 2
__CLASS : Win32_Environment
__SUPERCLASS : CIM_SystemResource
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_Environment.Name="testvar",UserName="<SYSTEM>"
__PROPERTY_COUNT : 8
__DERIVATION : {CIM_SystemResource, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER : SYSTEM01
__NAMESPACE : root\cimv2
__PATH : \\SYSTEM01\root\cimv2:Win32_Environment.Name="testvar",UserName="<SYSTEM>"
Caption : <SYSTEM>\testvar
Description : <SYSTEM>\testvar
InstallDate :
Name : testvar
Status : OK
SystemVariable : True
UserName : <SYSTEM>
VariableValue : testvalue
此命令會建立具有 testvalue 值的 testvar 環境變數。
它會藉由建立 Win32_Environment WMI 類別的新實例來執行此作業。
此作業需要適當的認證,您可能必須重新啟動 Windows PowerShell 才能查看新的環境變數。
範例 3:設定數部遠端電腦的 WMI 記錄層級
PS C:\> Set-WmiInstance -Class Win32_WMISetting -Argument @{LoggingLevel=2} -Computername "system01", "system02", "system03"
__GENUS : 2
__CLASS : Win32_WMISetting
__SUPERCLASS : CIM_Setting
__DYNASTY : CIM_Setting
__RELPATH : Win32_WMISetting=@
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_Setting}
__SERVER : SYSTEM01
__NAMESPACE : root\cimv2
__PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace : \\root\cimv2
ASPScriptEnabled : False
AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X :
BackupInterval :
BackupLastTime :
BuildVersion : 6001.18000
Caption :
DatabaseDirectory : C:\Windows\system32\wbem\repository
DatabaseMaxSize :
Description :
EnableAnonWin9xConnections :
EnableEvents : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects :
HighThresholdOnEvents : 20000000
InstallationDirectory : C:\Windows\system32\wbem
LastStartupHeapPreallocation :
LoggingDirectory : C:\Windows\system32\wbem\Logs\
LoggingLevel : 2
LowThresholdOnClientObjects :
LowThresholdOnEvents : 10000000
MaxLogFileSize : 65536
MaxWaitOnClientObjects :
MaxWaitOnEvents : 2000
MofSelfInstallDirectory :
SettingID :
...
此命令會將 WMI 記錄層級設定為 2。
命令會在自變數參數中傳遞要設定的屬性,並將值一起視為值組。
參數會採用 @{property = value} 建構所定義的哈希表。
傳回的類別資訊會反映新的值。
參數
-Arguments
指定要變更的屬性名稱,以及該屬性的新值。
名稱和值必須是名稱/值組。
名稱/值組會以哈希表的形式在命令行上傳遞。
例如:
@{Setting1=1; Setting2=5; Setting3="test"}
參數屬性
類型: Hashtable
預設值: None
支援萬用字元: False
不要顯示: False
別名: 參數, 房產
參數集
class
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
object
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
path
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-AsJob
表示此 Cmdket 會以背景工作的形式執行。
使用此參數來執行需要很長的時間才能完成的命令。
當您指定 AsJob 參數時,命令會傳回代表背景作業的物件,然後顯示命令提示字元。
您可以在作業完成時繼續在工作階段中工作。
如果 Set-WmiInstance 用於遠端電腦,則會在本機電腦上建立作業,而且遠端電腦的結果會自動傳回至本機計算機。
若要管理作業,請使用包含 Job 名詞的 Cmdlet(Job Cmdlet)。
若要取得作業結果,請使用 Receive-Job Cmdlet。
若要搭配遠端電腦使用此參數,必須設定本機和遠端電腦進行遠端處理。
此外,您必須在 Windows Vista 和更新版本的 Windows 作業系統中使用 [以系統管理員身分執行] 選項來啟動 Windows PowerShell。
如需詳細資訊,請參閱 about_Remote_Requirements。
如需 Windows PowerShell 背景工作的詳細資訊,請參閱about_Jobs和about_Remote_Jobs。
參數屬性
類型: SwitchParameter
預設值: None
支援萬用字元: False
不要顯示: False
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Authentication
指定必須與 WMI 連線搭配使用的驗證層級。
此參數可接受的值為:
-1:未變更。
0:預設值。
1:無。
中未執行驗證。
2:連線。
只有在用戶端與應用程式建立關聯性時,才會執行驗證。
3:通話。
只有在應用程式收到要求時,才會在每個呼叫開始時執行驗證。
4:封包。
驗證會在從用戶端接收的所有數據上執行。
5:PacketIntegrity。
用戶端與應用程式之間傳輸的所有數據都會經過驗證和驗證。
6:PacketPrivacy。
會使用其他驗證層級的屬性,並加密所有數據。
參數屬性
類型: AuthenticationLevel
預設值: None
接受的值: Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
支援萬用字元: False
不要顯示: False
參數集
class
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
path
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
WQLQuery
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
query
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
list
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Authority
指定要用來驗證 WMI 連線的授權單位。
您可以指定標準 NTLM 或 Kerberos 驗證。
若要使用 NTLM,請將授權單位設定設為 ntlmdomain:<DomainName>,其中 <DomainName> 識別有效的 NTLM 功能變數名稱。
若要使用 Kerberos,請指定 kerberos:<DomainName>\<ServerName>。
當您連線到本機計算機時,無法包含授權單位設定。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
class
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
path
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
WQLQuery
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
query
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
list
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Class
指定 WMI 類別的名稱。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
class
Position: 0
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ComputerName
指定此 Cmdlet 執行所在的電腦名稱。
預設值為本機電腦。
輸入 NetBIOS 名稱、IP 位址或一或多部電腦的完整功能變數名稱。
若要指定本機計算機,請輸入計算機名稱、點 (.) 或localhost。
此參數不依賴 Windows PowerShell 遠端處理。
即使您的電腦未設定為執行遠端命令,您也可以使用 ComputerName 參數。
參數屬性
類型: String [ ]
預設值: None
支援萬用字元: False
不要顯示: False
別名: Cn
參數集
class
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
path
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
WQLQuery
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
query
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
list
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
類型: SwitchParameter
預設值: False
支援萬用字元: False
不要顯示: False
別名: cf
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Credential
指定具有執行此動作許可權的用戶帳戶。
預設值為目前的使用者。
輸入使用者名稱,例如User01或Domain01\User01,或輸入 PSCredential 物件,例如 Get-Credential Cmdlet 所產生的使用者名稱。
如果您輸入使用者名稱,此 Cmdlet 會提示輸入密碼。
任何隨參數一起安裝的提供者都不支援此參數,任何使用 Windows PowerShell 安裝的提供者都不支援此參數。
參數屬性
類型: PSCredential
預設值: None
支援萬用字元: False
不要顯示: False
參數集
class
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
path
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
WQLQuery
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
query
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
list
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-EnableAllPrivileges
表示此 Cmdlet 會在發出 WMI 呼叫的命令之前,啟用目前使用者的所有許可權。
參數屬性
類型: SwitchParameter
預設值: None
支援萬用字元: False
不要顯示: False
參數集
class
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
path
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
WQLQuery
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
query
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
list
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Impersonation
指定要使用的模擬層級。
此參數可接受的值為:
0:預設值。
讀取預設模擬層級的本機登錄,通常設定為3:模擬。
1:匿名。
隱藏呼叫端的認證。
2:識別。
允許物件查詢呼叫端的認證。
3:模擬。
允許物件使用呼叫端的認證。
4:委派。
允許物件將呼叫者的認證交由其他物件使用。
參數屬性
類型: ImpersonationLevel
預設值: None
接受的值: Default, Anonymous, Identify, Impersonate, Delegate
支援萬用字元: False
不要顯示: False
參數集
class
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
path
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
WQLQuery
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
query
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
list
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
指定要作為輸入的 ManagementObject 物件。
使用此參數時,除了 Arguments 參數之外,所有其他參數都會被忽略。
類型: ManagementObject
預設值: None
支援萬用字元: False
不要顯示: False
object
Position: Named
必要: True
來自管線的值: True
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Locale
指定 WMI 物件的慣用地區設定。
Locale 參數是以慣用順序以MS_<LCID> 格式的陣列指定。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
class
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
path
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
WQLQuery
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
query
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
list
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Namespace
指定當參考的 WMI 類別與 Class 參數搭配使用時,所參考的 WMI 存放庫命名空間。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
別名: NS
參數集
class
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
path
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
WQLQuery
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
query
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
list
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-Path
指定您要建立或更新之實例的 WMI 物件路徑。
參數屬性
類型: String
預設值: None
支援萬用字元: False
不要顯示: False
參數集
path
Position: Named
必要: True
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-PutType
指出是否要建立或更新 WMI 實例。
此參數可接受的值為:
UpdateOnly。
更新現有的 WMI 實例。
CreateOnly。
建立新的 WMI 實例。
UpdateOrCreate。
如果 WMI 實例存在,則更新它,如果實例不存在,則會建立新的實例。
參數屬性
類型: PutType
預設值: None
接受的值: None, UpdateOnly, CreateOnly, UpdateOrCreate
支援萬用字元: False
不要顯示: False
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-ThrottleLimit
指定可以建立以執行此命令的並行連線數目上限。
此參數會與 AsJob 參數搭配使用。
節流限制僅適用於目前的命令,不適用於會話或計算機。
參數屬性
類型: Int32
預設值: None
支援萬用字元: False
不要顯示: False
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。
指令未執行。
參數屬性
類型: SwitchParameter
預設值: False
支援萬用字元: False
不要顯示: False
別名: 無線
參數集
(All)
Position: Named
必要: False
來自管線的值: False
來自管線按屬性名稱的值: False
來自剩餘引數的值: False
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters 。
None
輸出
None