Invoke-WmiMethod
Вызывает методы WMI.
Синтаксис
Invoke-WmiMethod
[-Class] <String>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
-InputObject <ManagementObject>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
-Path <String>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Invoke-WmiMethod вызывает методы объектов инструментария управления Windows (WMI).
Новые командлеты CIM, появившиеся в Windows PowerShell 3.0, выполняют те же задачи, что и командлеты WMI. Командлеты CIM соответствуют стандартам WS-Management (WSMan) и стандарту CIM, который позволяет командлетам использовать те же методы для управления компьютерами Windows и другими операционными системами. Вместо использования Invoke-WmiMethod рекомендуется использовать Invoke-CimMethod.https://go.microsoft.com/fwlink/?LinkId=227965.
Примеры
Пример 1. Перечисление требуемого порядка объектов WMI
PS C:\> ([wmiclass]'Win32_Volume').GetMethodParameters('Format')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 6
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ClusterSize : 0
EnableCompression : False
FileSystem : NTFS
Label :
QuickFormat : False
Version : 0
PSComputerName :
Эта команда указывает нужный порядок объектов. Вызов WMI в PowerShell 3.0 отличается от других методов и требует, чтобы значения объекта вводились в определенном порядке.
Пример 2. Запуск экземпляра приложения
PS C:\> ([Wmiclass]'Win32_Process').GetMethodParameters('Create')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
CommandLine :
CurrentDirectory :
ProcessStartupInformation :
PSComputerName : PS C:\> Invoke-WmiMethod -Path win32_process -Name create -ArgumentList notepad.exe
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 2
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ProcessId : 11312
ReturnValue : 0
PSComputerName :
Эта команда запускает экземпляр Блокнота путем вызова метода Create класса Win32_Process.
Свойство ReturnValue заполняется значением 0, а свойство ProcessId заполняется целым числом (номером идентификатора следующего процесса), если команда завершена.
Пример 3. Переименование файла
PS C:\> Invoke-WmiMethod -Path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name Rename -ArgumentList "C:\scripts\test_bu.txt"
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
Эта команда переименовывает файл. Он использует параметр Path для ссылки на экземпляр класса CIM_DataFile . Затем она применяет метод Rename к этому конкретному экземпляру.
Если команда завершена, свойство ReturnValue заполняется значением 0.
Параметры
-ArgumentList
Задает параметры для передачи в вызываемый метод. Значение этого параметра должно быть массивом объектов , и они должны отображаться в порядке, требуемом для вызываемого метода. Командлет Invoke-CimCommand не имеет этих ограничений.
Чтобы определить порядок, в котором указываются эти объекты, выполните метод GetMethodParameters() в классе WMI, как показано в примере 1 ближе к концу этого раздела.
Важно! Если первое значение является массивом, содержащим более одного элемента, требуется второе значение $null. В противном случае команда вызывает ошибку: например, «Не удалось привести объект типа System.Byte к типу System.Array».
Ниже приведен пример, в котором используется массив объектов ($binSD) со значением NULL ($null).
PS C:\>$acl = get-acl test.txt
PS C:\>$binSD = $acl. GetSecurityDescriptorBinaryForm()
PS C:\>invoke-wmimethod -class Win32_SecurityDescriptorHelper -Name BinarySDToSDDL -argumentlist $binSD, $null
Type: | Object[] |
Aliases: | Args |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsJob
Указывает, что этот командлет выполняет команду как фоновое задание. Используйте этот параметр для запуска команд, на завершение которых требуется много времени.
При использовании параметра AsJob команда возвращает объект, который представляет фоновое задание, а затем отображает командную строку. Можно продолжить работу в рамках данного сеанса, пока задание завершается. Если Invoke-WmiMethod используется на удаленном компьютере, задание создается на локальном компьютере, и результаты с удаленных компьютеров автоматически возвращаются на локальный компьютер. Чтобы управлять заданием, используйте командлеты, которые содержат существительное Job (командлеты Job). Чтобы получить результаты задания, используйте командлет Receive-Job.
Для использования этого параметра с удаленными компьютерами локальный и удаленный компьютеры должны быть настроены для удаленного взаимодействия. Кроме того, необходимо запустить Windows PowerShell с помощью параметра Запуск от имени администратора в Windows Vista и более поздних версиях Windows. Дополнительные сведения см. в разделе about_Remote_Requirements.
Дополнительные сведения о фоновых заданиях Windows PowerShell см. в разделах about_Jobs и about_Remote_Jobs.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Authentication
Указывает уровень проверки подлинности, используемый для подключения к WMI. Допустимые значения для этого параметра:
-1: без изменений
0: по умолчанию
1: нет (проверка подлинности в не выполняется.)
2. Подключение (проверка подлинности выполняется только в том случае, если клиент устанавливает связь с приложением.)
3. Вызов (проверка подлинности выполняется только в начале каждого вызова, когда приложение получает запрос.)
4. Пакет (проверка подлинности выполняется для всех данных, полученных от клиента.)
5: PacketIntegrity (все данные, передаваемые между клиентом и приложением, проходят проверку подлинности и проверяются.)
6: PacketPrivacy (используются свойства других уровней проверки подлинности, и все данные шифруются.)
Type: | AuthenticationLevel |
Accepted values: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Authority
Указывает центр сертификации, используемый для проверки подлинности подключения к WMI. Можно указать стандартную проверку подлинности Windows NT LAN Manager (NTLM) или Kerberos. Чтобы использовать NTLM, задайте для параметра центра значение ntlmdomain:<DomainName>, где <DomainName> определяет допустимое доменное имя NTLM. Чтобы использовать Kerberos, укажите kerberos:<DomainName\ServerName>. Параметр authority не может быть указан при подключении к локальному компьютеру.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Class
Указывает класс WMI, который содержит вызываемый статический метод.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Указывает в качестве массива строк компьютеры, на котором этот командлет выполняет команду. По умолчанию это локальный компьютер.
Введите имя NetBIOS, IP-адрес или полное доменное имя одного или нескольких компьютеров. Чтобы указать локальный компьютер, введите имя компьютера, localhost или точку (.).
Этот параметр не зависит от удаленного взаимодействия Windows PowerShell. Параметр ComputerName можно использовать, даже если компьютер не настроен для выполнения удаленных команд.
Type: | String[] |
Aliases: | Cn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Указывает учетную запись пользователя с разрешением на выполнение этого действия. По умолчанию используется текущий пользователь. Введите имя пользователя, например User01, Domain01\User01 или User@Contoso.com. Или введите объект PSCredential , например объект, возвращаемый командлетом Get-Credential. При вводе имени пользователя появится приглашение ввести пароль.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnableAllPrivileges
Указывает, что этот командлет включает все привилегии текущего пользователя, прежде чем команда выполнит вызов WMI.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Impersonation
Задает используемый уровень олицетворения. Допустимые значения для этого параметра:
0: по умолчанию (считывает локальный реестр для уровня олицетворения по умолчанию, который обычно имеет значение "3: олицетворение".)
1: анонимный (скрывает учетные данные вызывающего объекта).
2. Определение (позволяет объектам запрашивать учетные данные вызывающего объекта.)
3. Олицетворить (позволяет объектам использовать учетные данные вызывающего объекта.)
4. Делегирование (позволяет объектам разрешать другим объектам использовать учетные данные вызывающего объекта.)
Type: | ImpersonationLevel |
Accepted values: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Указывает объект ManagementObject для использования в качестве входных данных. При использовании этого параметра все остальные параметры, кроме параметров Flag и Argument , игнорируются.
Type: | ManagementObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Locale
Указывает предпочтительный язык для объектов WMI. Укажите значение параметра Locale в качестве массива в формате MS_<LCID> в предпочтительном порядке.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Указывает имя вызываемого метода. Этот параметр является обязательным и не может быть NULL или пустым.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Namespace
При использовании с параметром Class этот параметр указывает пространство имен репозитория WMI, в котором находится указанный класс или объект WMI.
Type: | String |
Aliases: | NS |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Указывает путь к объекту WMI класса WMI или указывает путь к объекту WMI экземпляра класса WMI. Указанный класс или экземпляр должен содержать метод, указанный в параметре Name .
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ThrottleLimit
Задает значение регулирования для количества операций WMI, которые могут выполняться одновременно. Этот параметр используется вместе с параметром AsJob . Предел регулирования применяется только к текущему командлету, а не к сеансу или компьютеру.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
None
Этот командлет не принимает никаких входных данных.
Выходные данные
None
Этот командлет не формирует никаких выходных данных.