다음을 통해 공유


Remove-WmiObject

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

구문

class (기본값)

Remove-WmiObject
    [-Class] <String>
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

object

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

path

Remove-WmiObject
    -Path <String>
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

WQLQuery

Remove-WmiObject
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

query

Remove-WmiObject
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

list

Remove-WmiObject
    [-AsJob]
    [-Impersonation <ImpersonationLevel>]
    [-Authentication <AuthenticationLevel>]
    [-Locale <String>]
    [-EnableAllPrivileges]
    [-Authority <String>]
    [-Credential <PSCredential>]
    [-ThrottleLimit <Int32>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

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

예제

예제 1: Win32 프로세스의 모든 인스턴스 닫기

PS C:\> notepad
PS C:\> $np = Get-WmiObject -Query "select * from win32_process where name='notepad.exe'"
PS C:\> $np | Remove-WmiObject

다음은 Notepad.exe인스턴스를 모두 닫는 예제입니다.

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

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

세 번째 명령은 $np 변수의 개체를 전달하여 remove-WmiObjectNotepad.exe모든 인스턴스를 삭제합니다.

예제 2: 폴더 삭제

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

이 명령은 C:\Test 폴더를 삭제합니다.

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

두 번째 명령은 폴더를 삭제하는 Remove-WMIObject$a 변수를 파이프합니다.

매개 변수

-AsJob

이 cmdlet이 백그라운드 작업으로 실행됨을 나타냅니다. 이 매개 변수를 사용하여 완료하는 데 시간이 오래 걸리는 명령을 실행합니다.

Windows PowerShell 3.0에 도입된 새로운 CIM cmdlet은 WMI cmdlet과 동일한 작업을 수행합니다. CIM cmdlet은 WSMan(WS-Management) 표준 및 CIM(공용 정보 모델) 표준을 준수하므로 cmdlet은 동일한 기술을 사용하여 Windows 운영 체제를 실행하는 컴퓨터와 다른 운영 체제를 실행하는 컴퓨터를 관리할 수 있습니다. remove-WmiObject사용하는 대신 Remove-CimInstance cmdlet을 사용하는 것이 좋습니다.

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

원격 컴퓨터에 이 매개 변수를 사용하려면 원격으로 로컬 및 원격 컴퓨터를 구성해야 합니다. 관리자 권한으로 실행 옵션을 사용하여 Windows PowerShell을 시작합니다. 자세한 내용은 about_Remote_Requirements 참조하세요.

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

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Authentication

WMI 연결에 사용할 인증 수준을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • -1: 변경되지 않았습니다.
  • 0: 기본값입니다.
  • 1: 없음. 인증이 수행되지 않았습니다.
  • 2: 연결. 인증은 클라이언트가 애플리케이션과 관계를 설정하는 경우에만 수행됩니다.
  • 3: 전화. 인증은 애플리케이션이 요청을 수신할 때 각 호출이 시작될 때만 수행됩니다.
  • 4: 패킷. 클라이언트에서 받은 모든 데이터에 대해 인증이 수행됩니다.
  • 5: 패킷 무결성. 클라이언트와 애플리케이션 간에 전송되는 모든 데이터는 인증되고 확인됩니다.
  • 6: 패킷프라이버시. 다른 인증 수준의 속성이 사용되며 모든 데이터가 암호화됩니다.

매개 변수 속성

형식:AuthenticationLevel
Default value:None
허용되는 값:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
와일드카드 지원:False
DontShow: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
Default value:None
와일드카드 지원:False
DontShow: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

이 cmdlet이 삭제하는 WMI 클래스의 이름을 지정합니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

class
Position:0
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-ComputerName

이 cmdlet이 실행되는 컴퓨터의 이름을 지정합니다. 기본값은 로컬 컴퓨터입니다.

하나 이상의 컴퓨터의 NetBIOS 이름, IP 주소 또는 정규화된 도메인 이름을 입력합니다. 로컬 컴퓨터를 지정하려면 컴퓨터 이름, 점(.) 또는 localhost를 입력합니다.

이 매개 변수는 Windows PowerShell 원격을 사용하지 않습니다. 컴퓨터가 원격 명령을 실행하도록 구성되지 않은 경우에도 ComputerName 매개 변수를 사용할 수 있습니다.

매개 변수 속성

형식:

String[]

Default value:None
와일드카드 지원:False
DontShow: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
Default value:False
와일드카드 지원:False
DontShow:False
별칭:cf(cf)

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Credential

이 작업을 수행할 수 있는 권한이 있는 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.

User01 또는 Domain01\User01과 같은 사용자 이름을 입력하거나 Get-Credential cmdlet에서 생성된 개체와 같은 PSCredential 개체를 입력합니다. 사용자 이름을 입력하는 경우 이 cmdlet은 암호를 묻는 메시지를 표시합니다.

매개 변수 속성

형식:PSCredential
Default value:None
와일드카드 지원:False
DontShow: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
Default value:None
와일드카드 지원:False
DontShow: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: Impersonate로 설정됩니다.
  • 1: 익명. 호출자의 자격 증명을 숨깁니다.
  • 2: 식별합니다. 개체가 호출자의 자격 증명을 쿼리할 수 있도록 허용합니다.
  • 3: 가장. 개체가 호출자의 자격 증명을 사용할 수 있도록 허용합니다.
  • 4: 대리자. 개체가 다른 개체가 호출자의 자격 증명을 사용하도록 허용할 수 있습니다.

매개 변수 속성

형식:ImpersonationLevel
Default value:None
허용되는 값:Default, Anonymous, Identify, Impersonate, Delegate
와일드카드 지원:False
DontShow: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

-InputObject

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

매개 변수 속성

형식:ManagementObject
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

object
Position:Named
필수:True
파이프라인의 값:True
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Locale

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

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow: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 클래스가 클래스 매개 변수와 함께 사용될 때 있는 WMI 리포지토리 네임스페이스를 지정합니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow: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 클래스의 WMI 개체 경로를 지정하거나 삭제할 WMI 클래스 인스턴스의 WMI 개체 경로를 지정합니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

path
Position:Named
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-ThrottleLimit

이 명령을 실행하기 위해 설정할 수 있는 최대 동시 연결 수를 지정합니다. 이 매개 변수는 AsJob 매개 변수와 함께 사용됩니다. 제한 제한은 세션이나 컴퓨터가 아닌 현재 명령에만 적용됩니다.

매개 변수 속성

형식:Int32
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

매개 변수 속성

형식:SwitchParameter
Default value:False
와일드카드 지원:False
DontShow:False
별칭:위스콘신

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

ManagementObject

관리 개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

None, System.Management.Automation.RemotingJob

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