Поделиться через


Invoke-CimMethod

Вызывает метод класса CIM.

Синтаксис

ClassNameComputerSet (по умолчанию)

Invoke-CimMethod
    [-ClassName] <String>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ClassNameSessionSet

Invoke-CimMethod
    [-ClassName] <String>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriComputerSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -ResourceUri <Uri>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimInstanceSessionSet

Invoke-CimMethod
    [-InputObject] <CimInstance>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimInstanceComputerSet

Invoke-CimMethod
    [-InputObject] <CimInstance>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ResourceUri <Uri>]
    [-ComputerName <String[]>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriSessionSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -ResourceUri <Uri>
    -CimSession <CimSession[]>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassComputerSet

Invoke-CimMethod
    [-CimClass] <CimClass>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ComputerName <String[]>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassSessionSet

Invoke-CimMethod
    [-CimClass] <CimClass>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QueryComputerSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -Query <String>
    [-QueryDialect <String>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QuerySessionSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -Query <String>
    -CimSession <CimSession[]>
    [-QueryDialect <String>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Описание

Этот командлет доступен только на платформе Windows.

Командлет Invoke-CimMethod вызывает метод класса CIM или экземплярА CIM с помощью пар "имя-значение", указанных параметром Arguments.

Если параметр InputObject не указан, командлет работает одним из следующих способов:

  • Если не указан ни параметр ComputerName, ни параметр CimSession, то этот командлет выполняется в локальном сеансе Windows Management Instrumentation (WMI) с помощью сеанса Component Object Model (COM).
  • Если указан либо параметр ComputerName, либо параметр CimSession, тогда этот командлет работает с сервером CIM, заданным либо параметром ComputerName, либо параметром CimSession.

Если указан параметр InputObject, командлет работает одним из следующих способов:

  • Если ни параметр ComputerName, ни параметр CimSession не указан, этот командлет использует сеанс CIM или имя компьютера из входного объекта.
  • Если указан параметр ComputerName или параметр CimSession, этот командлет использует значение параметра CimSession или значение параметра ComputerName. Это довольно редкий сценарий.

Примеры

Пример 1. Вызов метода

В этом примере вызывается метод Terminate класса Win32_Process.

$method = @{
  Query = 'select * from Win32_Process where name like "notepad%"'
  MethodName = "Terminate"
}
Invoke-CimMethod @method

Пример 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. Вызов статического метода с помощью аргументов

В этом примере вызывается метод создания с именем с помощью параметра Arguments.

Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{
  CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32"
}

Пример 4. Проверка на стороне клиента

В этом примере выполняется проверка на стороне клиента для метода Foo путем передачи объекта CimClass в Invoke-CimMethod.

$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "Foo" -Arguments @{CommandLine='notepad.exe'}

Параметры

-Arguments

Задает параметры, передаваемые в вызываемой метод. Укажите значения для этого параметра в виде пар "имя-значение", хранящихся в хэш-таблице. Порядок введенных значений не важен.

Свойства параметра

Тип:IDictionary
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-CimClass

Указывает объект класса CIM, представляющий определение класса CIM на сервере. Используйте этот параметр при вызове статического метода класса.

Для получения определения класса с сервера можно использовать командлет Get-CimClass.

Использование этого параметра приводит к улучшению проверки схемы на стороне клиента.

Свойства параметра

Тип:CimClass
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

CimClassComputerSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimClassSessionSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-CimSession

Выполняет команду с помощью указанного сеанса CIM. Введите переменную, содержащую сеанс CIM, или команду, которая создает или получает сеанс CIM, например командлеты New-CimSession или Get-CimSession. Дополнительные сведения см. в разделе about_CimSession.

Свойства параметра

Тип:

CimSession[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimInstanceSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimClassSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
QuerySessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ClassName

Указывает имя класса CIM, для которого выполняется операция. Этот параметр используется только для статических методов. Вы можете использовать завершение вкладки для просмотра списка классов, так как PowerShell получает список классов с локального сервера WMI для предоставления списка имен классов.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Класс

Наборы параметров

ClassNameComputerSet
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-ComputerName

Указывает имя компьютера, на котором требуется выполнить операцию CIM. Можно указать полное доменное имя (FQDN), имя NetBIOS или IP-адрес.

При использовании этого параметра командлет создает временный сеанс для указанного компьютера с помощью протокола WsMan. В противном случае командлет выполняет операцию на локальном компьютере с помощью объектной модели компонента (COM).

Подключитесь с помощью сеанса CIM для повышения производительности при выполнении нескольких операций на одном компьютере.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Китай, Имя сервера

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
CimClassComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
CimInstanceComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-InputObject

Указывает объект экземпляра CIM, используемый в качестве входных данных для вызова метода. Этот параметр можно использовать только для вызова методов экземпляра. Чтобы вызвать статические методы класса, используйте параметр класса или параметр CimClass.

Свойства параметра

Тип:CimInstance
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:CimInstance

Наборы параметров

CimInstanceComputerSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False
CimInstanceSessionSet
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-MethodName

Указывает имя вызываемого метода CIM. Этот параметр является обязательным и не может быть пустым или пустым. Чтобы вызвать статический метод класса CIM, используйте параметр ClassName или параметр CimClass.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Имя

Наборы параметров

(All)
Position:2
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Namespace

Указывает пространство имен для операции CIM. Пространство имен по умолчанию — корневой/CIMV2. Вы можете использовать завершение вкладки для просмотра списка пространств имен, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ClassNameComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ClassNameSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
ResourceUriSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QuerySessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-OperationTimeoutSec

Указывает период времени, в течение которого командлет ожидает ответа от компьютера. По умолчанию значение равно 0, что означает, что командлет использует значение времени ожидания по умолчанию для сервера.

Если параметр OperationTimeoutSec имеет значение меньше времени ожидания повторных попыток подключения по умолчанию в течение 3 минут, то сетевые сбои, последние больше , чем значение параметра OperationTimeoutSec, невозможно восстановить.

Свойства параметра

Тип:UInt32
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:OT

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Query

Указывает запрос, выполняемый на сервере CIM. Метод вызывается в экземплярах, полученных в результате запроса. Можно указать диалект запроса с помощью параметра QueryDialect.

Если указанное значение содержит двойные кавычки (), одинарные кавычки ("') или обратную косую черту (\), необходимо экранировать эти символы, префиксируя их с помощью символа обратной косой черты (\). Если указанное значение использует оператор WQL LIKE, необходимо экранировать следующие символы, заключив их в квадратные скобки ([]): процент (%), подчеркивание (_), или открытие квадратной скобки ([).

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

QuerySessionSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-QueryDialect

Указывает язык запросов, используемый для параметра query. Допустимые значения для этого параметра: WQL или CQL.

Значение по умолчанию — WQL.

Свойства параметра

Тип:String
Default value:WQL
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

QuerySessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
QueryComputerSet
Position:Named
Обязательно:False
Значение из конвейера: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

По умолчанию, если этот параметр не указан, используется стандартный универсальный код ресурса DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/, а имя класса добавляется к нему.

ResourceUri можно использовать только с сеансами CIM, созданными с помощью протокола WSMan, или при указании параметра ComputerName, который создает сеанс CIM с помощью WSMan.

При указании этого параметра без указания параметра ComputerName или при указании сеанса CIM, созданного с помощью протокола DCOM, возникает ошибка. Протокол DCOM не поддерживает параметр ResourceUri.

Если заданы и параметр ResourceUri, и параметр фильтра, параметр фильтра игнорируется.

Свойства параметра

Тип:Uri
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

CimInstanceComputerSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False
CimInstanceSessionSet
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-WhatIf

Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

CimClass

Класс CIM можно передать в этот командлет.

CimInstance

Экземпляр CIM можно передать в этот командлет.

Выходные данные

PSCustomObject

Этот командлет возвращает объект.

Примечания

PowerShell включает следующие псевдонимы для Invoke-CimMethod:

  • Виндоус:
    • icim

Этот командлет доступен только на платформах Windows.