Invoke-CimMethod
Вызывает метод класса CIM.
Синтаксис
Invoke-CimMethod
[-ClassName] <String>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ClassName] <String>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-ResourceUri <Uri>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-ResourceUri <Uri>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-CimClass] <CimClass>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
[-CimClass] <CimClass>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Invoke-CimMethod
вызывает метод класса CIM или экземплярА CIM, используя пары "имя-значение", указанные параметром Arguments .
Если параметр InputObject не указан, командлет работает одним из следующих способов:
- Если ни параметр ComputerName, ни параметр CimSession не указан, этот командлет работает в локальном сеансе инструментария управления Windows (WMI) с помощью сеанса com-модели компонентов.
- Если указан параметр ComputerName или параметр CimSession, этот командлет работает с сервером CIM, указанным параметром ComputerName или параметром CimSession.
Если указан параметр InputObject, командлет работает одним из следующих способов:
- Если ни параметр ComputerName, ни параметр CimSession не указан, этот командлет использует сеанс CIM или имя компьютера из входного объекта.
- Если указан параметр ComputerName или параметр CimSession, этот командлет использует значение параметра CimSession или значение параметра ComputerName. Это довольно редкий сценарий.
Примеры
Пример 1. Вызов метода
В этом примере вызывается метод Terminate класса Win32_Process .
Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"
Пример 2. Вызов метода с помощью объекта экземпляра CIM
В этом примере извлекается объект экземпляра CIM и сохраняется в переменной с именем $x
командлета Get-CimInstance
. Затем содержимое переменной используется в качестве объекта InputObject для командлета Invoke-CimMethod
. Метод GetOwner вызывается для CimInstance.
$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner
Пример 3. Вызов статического метода с помощью аргументов
В этом примере вызывается метод Create с именем с помощью параметра Arguments .
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{
CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32"
}
Пример 4. Проверка на стороне клиента
В этом примере выполняется проверка на стороне клиента для метода xyz путем передачи объекта CimClass в Invoke-CimMethod
.
$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }
Параметры
-Arguments
Задает параметры для передачи в вызываемый метод. Укажите значения для этого параметра в виде пар "имя-значение", хранящихся в хэш-таблице. Порядок введенных значений не важен.
Тип: | IDictionary |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-CimClass
Указывает объект класса CIM, представляющий определение класса CIM на сервере. Используйте этот параметр при вызове статического метода класса.
С помощью командлета Get-CimClass
можно получить определение класса с сервера.
Использование этого параметра приводит к улучшению проверки схемы на стороне клиента.
Тип: | CimClass |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-CimSession
Выполняет команду с помощью указанного сеанса CIM. Введите переменную, содержащую сеанс CIM, или команду, которая создает или получает сеанс CIM, например New-CimSession
командлеты или Get-CimSession
командлеты. Дополнительные сведения см. в about_CimSession.
Тип: | CimSession[] |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ClassName
Указывает имя класса CIM, для которого выполняется операция. Этот параметр используется только для статических методов. Вы можете использовать завершение вкладки для просмотра списка классов, так как PowerShell получает список классов с локального сервера WMI для предоставления списка имен классов.
Тип: | String |
Aliases: | Class |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ComputerName
Указывает имя компьютера, на котором требуется выполнить операцию CIM. Можно указать полное доменное имя (FQDN), имя NetBIOS или IP-адрес.
При использовании этого параметра командлет создает временный сеанс для указанного компьютера с помощью протокола WsMan. В противном случае командлет выполняет операцию на локальном компьютере с помощью объектной модели компонента (COM).
Подключитесь с помощью сеанса CIM для повышения производительности при выполнении нескольких операций на одном компьютере.
Тип: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InputObject
Указывает объект экземпляра CIM, используемый в качестве входных данных для вызова метода. Этот параметр можно использовать только для вызова методов экземпляра. Чтобы вызвать статические методы класса, используйте параметр Class или параметр CimClass .
Тип: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-MethodName
Указывает имя вызываемого метода CIM. Этот параметр является обязательным и не может быть NULL или пустым. Чтобы вызвать статический метод класса CIM, используйте параметр ClassName или CimClass .
Тип: | String |
Aliases: | Name |
Position: | 2 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Namespace
Указывает пространство имен для операции CIM. Пространство имен по умолчанию — root/cimv2. Вы можете использовать завершение вкладки для просмотра списка пространств имен, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-OperationTimeoutSec
Указывает время ожидания командлетом ответа от компьютера. По умолчанию значение равно 0, что означает, что командлет использует значение времени ожидания по умолчанию для сервера.
Если параметр OperationTimeoutSec имеет значение меньше времени ожидания повторных попыток подключения по умолчанию в течение 3 минут, то сетевые сбои, которые длились больше, чем значение параметра OperationTimeoutSec, невозможно восстановить.
Тип: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Query
Указывает запрос, выполняемый на сервере CIM. Метод вызывается в экземплярах, полученных в результате запроса. Можно указать диалект запроса с помощью параметра QueryDialect .
Если указанное значение содержит двойные кавычки (), одинарные кавычки ("
'
) или обратную косую черту (\
), необходимо экранировать эти символы, префиксируя их с помощью символа обратной косой черты (\
). Если указанное значение использует оператор WQL LIKE, необходимо экранировать следующие символы, заключив их в квадратные скобки (): процент (), подчеркивание ([]
_
) или открывающую квадратную скобку ([
).%
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-QueryDialect
Указывает язык запросов, используемый для параметра query. Допустимые значения для этого параметра: WQL или CQL.
Значение по умолчанию — WQL.
Тип: | String |
Position: | Named |
Default value: | WQL |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ResourceUri
Указывает универсальный идентификатор ресурса (URI) класса ресурса или экземпляра. URI используется для идентификации определенного типа ресурсов, например дисков и процессов на компьютере.
URI состоит из префикса и пути к ресурсу. Например:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
По умолчанию, если этот параметр не указан, используется стандартный URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
ресурса DMTF и к нему добавляется имя класса.
ResourceURI можно использовать только с сеансами CIM, созданными с помощью протокола WSMan, или при указании параметра ComputerName , который создает сеанс CIM с помощью WSMan.
При указании этого параметра без указания параметра ComputerName или при указании сеанса CIM, созданного с помощью протокола DCOM, возникает ошибка. Протокол DCOM не поддерживает параметр ResourceURI .
Если указан параметр ResourceUri и параметр Filter, параметр Filter игнорируется.
Тип: | Uri |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Класс CIM можно передать в этот командлет.
Экземпляр CIM можно передать в этот командлет.
Выходные данные
Этот командлет возвращает объект.
Связанные ссылки
PowerShell