Set-WmiInstance
기존 WMI(Windows Management Instrumentation) 클래스의 인스턴스를 만들거나 업데이트합니다.
구문
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>]
Set-WmiInstance
-InputObject <ManagementObject>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
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>]
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>]
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>]
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
cmdlet은 Set-WmiInstance
기존 WMI(Windows Management Instrumentation) 클래스의 인스턴스를 만들거나 업데이트합니다. 생성되거나 업데이트된 인스턴스는 WMI 리포지토리에 기록됩니다.
Windows PowerShell 3.0에 도입된 새로운 CIM cmdlet은 WMI cmdlet과 동일한 작업을 수행합니다. CIM cmdlet은 WSMan(WS-Management) 표준 및 CIM(공용 정보 모델) 표준을 준수합니다. 이를 통해 cmdlet은 동일한 기술을 사용하여 Windows 기반 컴퓨터와 다른 운영 체제를 실행하는 컴퓨터를 관리할 수 있습니다. 사용하는 Set-WmiInstance
대신 Set-CimInstance 또는 New-CimInstance cmdlet을 사용하는 것이 좋습니다.
예제
예제 1: WMI 로깅 수준 설정
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: 환경 변수 및 해당 값 만들기
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 로깅 수준 설정
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 |
별칭: | Args, Property |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-AsJob
이 cmdlet이 백그라운드 작업으로 실행됨을 나타냅니다. 이 매개 변수를 사용하여 완료하는 데 시간이 오래 걸리는 명령을 실행합니다.
AsJob 매개 변수를 지정하면 명령은 백그라운드 작업을 나타내는 개체를 반환한 다음 명령 프롬프트를 표시합니다. 작업이 완료되는 동안 세션에서 작업을 계속할 수 있습니다. 원격 컴퓨터에 사용되는 경우 작업이 로컬 컴퓨터에 만들어지고 원격 컴퓨터의 결과가 자동으로 로컬 컴퓨터로 반환됩니다. 작업을 관리하려면 작업 명사(작업 cmdlet)가 포함된 cmdlet을 사용합니다. 작업 결과를 얻으려면 cmdlet을 Receive-Job
사용합니다.
이 매개 변수를 원격 컴퓨터와 함께 사용하려면 원격을 위해 로컬 및 원격 컴퓨터를 구성해야 합니다. 또한 Windows Vista 이상 버전의 Windows 운영 체제에서 관리자 권한으로 실행 옵션을 사용하여 Windows PowerShell을 시작해야 합니다. 자세한 내용은 about_Remote_Requirements 참조하세요.
Windows PowerShell 백그라운드 작업에 대한 자세한 내용은 about_Jobs 및 about_Remote_Jobs 참조하세요.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Authentication
WMI 연결에 사용해야 하는 인증 수준을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
-1
:변경.0
: 기본값.1
:없음. 인증이 수행되지 않았습니다.2
:연결하다. 인증은 클라이언트가 애플리케이션과 관계를 설정하는 경우에만 수행됩니다.3
:외침. 인증은 애플리케이션이 요청을 수신할 때 각 호출이 시작될 때만 수행됩니다.4
:패킷. 클라이언트에서 받은 모든 데이터에 대해 인증이 수행됩니다.5
: PacketIntegrity. 클라이언트와 애플리케이션 간에 전송되는 모든 데이터는 인증되고 확인됩니다.6
: PacketPrivacy. 다른 인증 수준의 속성이 사용되며 모든 데이터가 암호화됩니다.
형식: | AuthenticationLevel |
허용되는 값: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Authority
WMI 연결을 인증하는 데 사용할 권한을 지정합니다. 표준 NTLM 또는 Kerberos 인증을 지정할 수 있습니다. NTLM을 사용하려면 기관 설정을 ntlmdomain:<DomainName으로 설정합니다. 여기서 <DomainName>>은 유효한 NTLM 도메인 이름을 식별합니다. Kerberos를 사용하려면 kerberos:<DomainName>\<ServerName을 지정합니다>. 로컬 컴퓨터에 연결할 때는 기관 설정을 포함할 수 없습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Class
WMI 클래스의 이름을 지정합니다.
형식: | String |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ComputerName
이 cmdlet이 실행되는 컴퓨터의 이름을 지정합니다. 기본값은 로컬 컴퓨터입니다.
하나 이상 컴퓨터의 NetBIOS 이름, IP 주소 또는 정규화된 도메인 이름을 입력하세요.
로컬 컴퓨터를 지정하려면 컴퓨터 이름, 점(.
) 또는 localhost를 입력합니다.
이 매개 변수는 Windows PowerShell 원격을 사용하지 않습니다. 컴퓨터가 원격 명령을 실행하도록 구성되지 않은 경우에도 ComputerName 매개 변수를 사용할 수 있습니다.
형식: | String[] |
별칭: | Cn |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Confirm
cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.
형식: | SwitchParameter |
별칭: | cf |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Credential
이 작업을 수행할 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.
User01 또는 Domain01\User01과 같은 사용자 이름을 입력하거나 Get-Credential cmdlet에서 생성된 것과 같은 PSCredential 개체를 입력합니다. 사용자 이름을 입력하면 이 cmdlet에서 암호를 묻는 메시지가 표시됩니다.
이 매개 변수는 Windows PowerShell과 함께 설치된 공급자가 매개 변수를 사용하여 설치한 공급자에서 지원되지 않습니다.
형식: | PSCredential |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-EnableAllPrivileges
이 cmdlet은 WMI를 호출하는 명령 전에 현재 사용자의 모든 권한을 사용하도록 설정했음을 나타냅니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Impersonation
사용할 가장 수준을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
0
: 기본값. 기본 가장 수준에 대한 로컬 레지스트리를 읽습니다. 일반적으로 3: Impersonate로 설정됩니다.1
:익명의. 호출자의 자격 증명을 숨깁니다.2
:식별. 개체가 호출자의 자격 증명을 쿼리할 수 있습니다.3
:가장. 개체가 호출자의 자격 증명을 사용할 수 있습니다.4
:사절. 개체가 다른 개체가 호출자의 자격 증명을 사용하도록 허용할 수 있습니다.
형식: | ImpersonationLevel |
허용되는 값: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-InputObject
입력으로 사용할 ManagementObject 개체를 지정합니다. 이 매개 변수를 사용하면 Arguments 매개 변수를 제외한 다른 모든 매개 변수는 무시됩니다.
형식: | ManagementObject |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Locale
WMI 개체의 기본 설정 로캘을 지정합니다. 로캘 매개 변수는 MS_<LCID> 형식의 배열에서 기본 순서로 지정됩니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Namespace
클래스 매개 변수와 함께 사용될 때 참조된 WMI 클래스가 있는 WMI 리포지토리 네임스페이스를 지정합니다.
형식: | String |
별칭: | NS |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Path
만들거나 업데이트하려는 인스턴스의 WMI 개체 경로를 지정합니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-PutType
WMI 인스턴스를 만들거나 업데이트할지 여부를 나타냅니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
UpdateOnly
기존 WMI 인스턴스를 업데이트합니다.CreateOnly
새 WMI 인스턴스를 만듭니다.UpdateOrCreate
WMI 인스턴스가 있는 경우 업데이트하거나 인스턴스가 없는 경우 새 인스턴스를 만듭니다.
형식: | PutType |
허용되는 값: | None, UpdateOnly, CreateOnly, UpdateOrCreate |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ThrottleLimit
이 명령을 실행하도록 설정할 수 있는 최대 동시 연결 수를 지정합니다. 이 매개 변수는 AsJob 매개 변수와 함께 사용됩니다. 제한 제한은 세션이나 컴퓨터가 아닌 현재 명령에만 적용됩니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WhatIf
cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
이 cmdlet은 입력을 허용하지 않습니다.
출력
None
이 cmdlet은 출력을 생성하지 않습니다.
참고
Windows PowerShell에는 다음 별칭이 포함됩니다.Set-WmiInstance
swmi
관련 링크
PowerShell