다음을 통해 공유


Remove-WmiObject

기존 WMI(Windows Management Instrumentation) 클래스의 인스턴스를 삭제합니다.

구문

Remove-WmiObject [-Class] <string> [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject -InputObject <ManagementObject> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject -Path <string> [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Remove-WmiObject [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

설명

Remove-WmiObject cmdlet은 기존 WMI 클래스의 인스턴스를 삭제합니다.

매개 변수

-AsJob

명령을 백그라운드 작업으로 실행합니다. 이 매개 변수를 사용하여 완료되는 데 시간이 많이 걸리는 명령을 실행할 수 있습니다.

명령을 백그라운드 작업으로 실행합니다. 이 매개 변수를 사용하여 마치는 데 시간이 많이 걸리는 명령을 실행할 수 있습니다.

AsJob 매개 변수를 사용하는 경우 이 명령은 백그라운드 작업을 나타내는 개체를 반환한 다음 명령 프롬프트를 표시합니다. 작업을 마치는 동안 세션에서 작업을 계속할 수 있습니다. Remove-WmiObject가 원격 컴퓨터에 대해 사용되는 경우 작업은 로컬 컴퓨터에 만들어지고 원격 컴퓨터의 결과는 자동으로 로컬 컴퓨터로 반환됩니다. 작업을 관리하려면 Job 명사(Job cmdlet)가 포함된 cmdlet을 사용합니다. 작업 결과를 가져오려면 Receive-Job cmdlet을 사용합니다.

참고: 원격 컴퓨터와 함께 이 매개 변수를 사용하려면 원격 기능을 사용하도록 로컬 및 원격 컴퓨터를 구성해야 합니다. 또한 Windows Vista 이상 Windows 버전의 경우 "관리자 권한으로 실행" 옵션을 사용하여 Windows PowerShell을 시작해야 합니다. 자세한 내용은 about_Remote_Requirements를 참조하십시오.

Windows PowerShell 백그라운드 작업에 대한 자세한 내용은 about_Jobs 및 about_Remote_Jobs를 참조하십시오.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Authentication <AuthenticationLevel>

WMI 연결에 사용할 인증 수준을 지정합니다. 유효한 값은 다음과 같습니다.

-1: Unchanged

0: Default

1: None(인증 수행 안 함)

2: Connect(클라이언트가 응용 프로그램과 관계를 설정한 경우에만 인증 수행)

3: Call(응용 프로그램이 요청을 받을 때 각 호출의 시작 부분에서만 인증 수행)

4: Packet(클라이언트에서 받는 모든 데이터에서 인증 수행)

5: PacketIntegrity(클라이언트와 응용 프로그램 사이에 전송되는 모든 데이터 인증 및 확인)

6: PacketPrivacy(기타 인증 수준의 속성이 사용되고 모든 데이터가 암호화됨)

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Authority <string>

WMI 연결을 인증하는 데 사용할 기관을 지정합니다. 표준 NTLM 또는 Kerberos 인증을 지정할 수 있습니다. NTLM을 사용하려면 기관 설정을 "ntlmdomain:<DomainName>"으로 설정합니다. 여기서 <DomainName>은 올바른 NTLM 도메인 이름을 식별합니다. Kerberos를 사용하려면 "kerberos:<DomainName>\<ServerName>"을 지정합니다. 로컬 컴퓨터에 연결할 때 기관 설정을 포함할 수 없습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Class <string>

삭제할 WMI 클래스 이름을 지정합니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ComputerName <string[]>

관리 작업을 실행할 컴퓨터를 지정합니다. 값은 정규화된 도메인 이름, NetBIOS 이름 또는 IP 주소일 수 있습니다. 로컬 컴퓨터 이름, localhost 또는 점(.)을 사용하여 로컬 컴퓨터를 지정합니다. 기본값은 로컬 컴퓨터입니다. 원격 컴퓨터가 사용자와 다른 도메인에 있는 경우 정규화된 도메인 이름을 사용해야 합니다. 값을 매개 변수로 파이프하여 이 매개 변수의 값을 설정할 수 있습니다.

이 매개 변수는 WS-Management를 사용하는 Windows PowerShell 원격에 독립적입니다. WS-Management 원격 명령을 실행하도록 컴퓨터를 구성하지 않은 경우에도 Get-WmiObject의 ComputerName 매개 변수를 사용할 수 있습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Credential <PSCredential>

이 작업을 수행할 수 있는 권한을 가진 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다. "User01", "Domain01\User01" 또는 "User@Contoso.com"과 같은 사용자 이름을 입력합니다. 또는 Get-Credential cmdlet에서 반환된 개체와 같은 PSCredential 개체를 입력합니다. 사용자 이름을 입력하면 암호를 묻는 메시지가 표시됩니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-EnableAllPrivileges

명령에서 WMI 호출을 수행하기 전에 현재 사용자의 모든 권한을 활성화합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Impersonation <ImpersonationLevel>

사용할 가장 수준을 지정합니다. 유효한 값은 다음과 같습니다.

0: Default(대개 "3: Impersonate"로 설정되어 있는 기본 가장 수준에 대한 로컬 레지스트리를 읽음)

1: Anonymous(호출자의 자격 증명을 숨김)

2: Identify(개체가 호출자 자격 증명을 쿼리할 수 있음)

3: Impersonate(개체가 호출자 자격 증명을 사용할 수 있음)

4: Delegate(개체에서 다른 개체가 호출자의 자격 증명을 사용할 수 있도록 허용)

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-InputObject <ManagementObject>

입력으로 사용할 ManagementObject 개체를 지정합니다. 이 매개 변수를 사용하면 다른 모든 매개 변수는 무시됩니다.

필수 여부

true

위치

named

기본값

파이프라인 입력 적용 여부

true (ByValue)

와일드카드 문자 적용 여부

false

-Locale <string>

WMI 개체의 기본 설정 로캘을 지정합니다. Locale 매개 변수는 기본 설정 순서에 따라 MS_<LCID> 형식의 배열로 지정됩니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Namespace <string>

Class 매개 변수와 함께 사용하는 경우 이 매개 변수는 참조된 WMI 클래스가 있는 WMI 리포지토리 네임스페이스를 지정합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Path <string>

WMI 클래스의 WMI 개체 경로 또는 삭제할 WMI 클래스 인스턴스의 WMI 개체 경로를 지정합니다.

필수 여부

true

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ThrottleLimit <int>

사용자가 동시에 실행할 수 있는 WMI 작업 수에 대한 스로틀 값을 지정할 수 있도록 허용합니다. 이 매개 변수는 AsJob 매개 변수와 함께 사용됩니다. 스로틀 한도는 현재 명령에만 적용되며 세션이나 컴퓨터에는 적용되지 않습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Confirm

명령을 실행하기 전에 확인 메시지를 표시합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-WhatIf

명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.Management.ManagementObject

관리 개체를 Remove-WmiObject로 파이프할 수 있습니다.

출력

없음 또는 System.Management.Automation.RemotingJob

AsJob 매개 변수를 사용하는 경우 이 cmdlet은 작업 개체를 반환합니다. 그렇지 않으면 아무 출력도 생성하지 않습니다.

예 1

C:\PS>notepad   
C:\PS> $np = get-wmiobject -query "select * from win32_process where name='notepad.exe'"
C:\PS> $np | remove-wmiobject

설명
-----------
이 명령은 Notepad.exe의 모든 인스턴스를 닫습니다.

첫 번째 명령은 메모장의 인스턴스를 시작합니다. 

두 번째 명령은 Get-WmiObject cmdlet을 사용하여 Notepad.exe에 해당하는 Win32_Process 인스턴스를 검색해 $np 변수에 저장합니다. 

세 번째 명령은 $np 변수의 개체를 Remove-WmiObject cmdlet으로 전달하며, 이 cmdlet은 모든 Notepad.exe 인스턴스를 삭제합니다.





예 2

C:\PS>$a = Get-WMIObject -query "Select * From Win32_Directory Where Name ='C:\\Test'"
C:\PS> $a | Remove-WMIObject

설명
-----------
이 명령은 C:\Test 디렉터리를 삭제합니다.

첫 번째 명령은 Get-WMIObject cmdlet을 사용하여 C:\Test 디렉터리를 쿼리한 다음 개체를 $a 변수에 저장합니다.

두 번째 명령은 $a 변수를 Remove-WMIObject로 파이프하며, 그러면 디렉터리는 삭제됩니다.





참고 항목

개념

Get-WmiObject
Invoke-WmiMethod
Set-WmiInstance
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance