Udostępnij za pośrednictwem


Invoke-CimMethod

Wywołuje metodę klasy CIM.

Składnia

ClassNameComputerSet (Domyślna)

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>]

Opis

Ten cmdlet jest dostępny tylko na platformie Windows.

Polecenie cmdlet Invoke-CimMethod wywołuje metodę klasy CIM lub wystąpienia modelu CIM przy użyciu par name-value określonych przez parametr Arguments.

Jeśli nie określono parametru InputObject, polecenie cmdlet działa na jeden z następujących sposobów:

  • Jeśli nie określono parametru ComputerName ani parametru CimSession, to to polecenie cmdlet działa w lokalnej sesji instrumentacji zarządzania Windows (WMI) przy użyciu sesji modelu obiektów składników (COM).
  • Jeśli określono parametr ComputerName lub parametr CimSession, to polecenie cmdlet działa na serwerze CIM określonym przez parametr ComputerName lub parametr CimSession.

Jeśli określono parametr InputObject, polecenie cmdlet działa w jeden z następujących sposobów:

  • Jeśli nie określono parametru ComputerName ani parametru CimSession, to to polecenie cmdlet używa sesji CIM lub nazwy komputera z obiektu wejściowego.
  • Jeśli określono parametr ComputerName lub CimSession, to to polecenie cmdlet używa wartości parametru CimSession lub Wartości parametru ComputerName. Nie jest to typowy scenariusz.

Przykłady

Przykład 1: Wywoływanie metody

W tym przykładzie wywoływana jest metoda Terminate klasy Win32_Process.

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

Przykład 2. Wywoływanie metody przy użyciu obiektu wystąpienia modelu CIM

Ten przykład pobiera obiekt wystąpienia modelu CIM i przechowuje go w zmiennej o nazwie $x przy użyciu polecenia cmdlet Get-CimInstance. Zawartość zmiennej jest następnie używana jako InputObject dla polecenia cmdlet Invoke-CimMethod. Metoda GetOwner jest wywoływana dla CimInstance.

$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner

Przykład 3. Wywoływanie metody statycznej przy użyciu argumentów

W tym przykładzie wywoływana jest metoda Create o nazwie przy użyciu parametru Arguments.

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

Przykład 4. Weryfikacja po stronie klienta

W tym przykładzie jest wykonywana weryfikacja po stronie klienta dla metody Foo, przekazując obiekt CimClass do Invoke-CimMethod.

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

Parametry

-Arguments

Określa parametry, które mają być przekazywane do wywoływanej metody. Określ wartości tego parametru jako pary name-value przechowywane w tabeli skrótów. Kolejność wprowadzonych wartości nie jest ważna.

Właściwości parametru

Typ:IDictionary
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:1
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-CimClass

Określa obiekt klasy CIM reprezentujący definicję klasy MODELU CIM na serwerze. Użyj tego parametru podczas wywoływania metody statycznej klasy.

Aby pobrać definicję klasy z serwera, możesz użyć polecenia cmdlet Get-CimClass.

Użycie tego parametru powoduje lepsze weryfikacje schematu po stronie klienta.

Właściwości parametru

Typ:CimClass
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

CimClassComputerSet
Position:0
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
CimClassSessionSet
Position:0
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-CimSession

Uruchamia polecenie przy użyciu określonej sesji CIM. Wprowadź zmienną zawierającą sesję modelu CIM lub polecenie, które tworzy lub pobiera sesję modelu CIM, na przykład polecenia cmdlet New-CimSession lub Get-CimSession. Aby uzyskać więcej informacji, zobacz about_CimSession.

Właściwości parametru

Typ:

CimSession[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

ClassNameSessionSet
Position:Named
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
CimInstanceSessionSet
Position:Named
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
CimClassSessionSet
Position:Named
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
QuerySessionSet
Position:Named
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
ResourceUriSessionSet
Position:Named
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ClassName

Określa nazwę klasy CIM, dla której ma być wykonywana operacja. Ten parametr jest używany tylko dla metod statycznych. Można użyć uzupełniania za pomocą tabulatora, aby przeglądać listę klas, ponieważ PowerShell pobiera spis klas z lokalnego serwera WMI, aby wyświetlić listę ich nazw.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Klasa

Zestawy parametrów

ClassNameComputerSet
Position:0
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
ClassNameSessionSet
Position:0
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-ComputerName

Określa nazwę komputera, na którym chcesz uruchomić operację CIM. Można określić w pełni kwalifikowaną nazwę domeny (FQDN), nazwę NetBIOS lub adres IP.

W przypadku korzystania z tego parametru polecenie cmdlet tworzy sesję tymczasową na określonym komputerze przy użyciu protokołu WsMan. W przeciwnym razie polecenie cmdlet wykonuje operację na komputerze lokalnym przy użyciu modelu obiektów składników (COM).

Połącz się przy użyciu sesji modelu CIM, aby uzyskać lepszą wydajność, gdy na tym samym komputerze jest wykonywanych wiele operacji.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:CN, NazwaSerwera

Zestawy parametrów

ClassNameComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
ResourceUriComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
CimClassComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
CimInstanceComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
QueryComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-InputObject

Określa obiekt wystąpienia modelu CIM, który ma być używany jako dane wejściowe w celu wywołania metody. Ten parametr może służyć tylko do wywoływania metod wystąpienia. Aby wywołać metody statyczne klasy, użyj parametru klasy lub parametru CimClass.

Właściwości parametru

Typ:CimInstance
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:CimInstance

Zestawy parametrów

CimInstanceComputerSet
Position:0
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
CimInstanceSessionSet
Position:0
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-MethodName

Określa nazwę metody CIM, która ma być wywoływana. Ten parametr jest obowiązkowy i nie może być pusty ani mieć wartości null. Aby wywołać statyczną metodę klasy CIM, użyj parametru ClassName lub parametru CimClass.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Nazwa

Zestawy parametrów

(All)
Position:2
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Namespace

Określa przestrzeń nazw dla operacji CIM. Domyślna przestrzeń nazw to root/CIMV2. Za pomocą uzupełniania za pomocą klawisza Tab można przeglądać listę przestrzeni nazw, ponieważ PowerShell pobiera listę przestrzeni nazw z lokalnego serwera WMI w celu udostępnienia listy przestrzeni nazw.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

ClassNameComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
ClassNameSessionSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
ResourceUriComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
ResourceUriSessionSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
QuerySessionSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
QueryComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-OperationTimeoutSec

Określa czas, przez który polecenie cmdlet czeka na odpowiedź od komputera. Domyślnie wartość to 0, co oznacza, że polecenie cmdlet używa domyślnej wartości limitu czasu dla serwera.

Jeśli parametr OperationTimeoutSec jest ustawiony na wartość mniejszą niż domyślny limit czasu ponawiania próby połączenia przez 3 minuty, błędy sieci, które trwają dłużej niż wartość parametru OperationTimeoutSec nie są możliwe do odzyskania.

Właściwości parametru

Typ:UInt32
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:OT

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Query

Określa zapytanie do uruchomienia na serwerze CIM. Metoda jest wywoływana na wystąpieniach odebranych w wyniku zapytania. Dialekt zapytania można określić przy użyciu parametru QueryDialect.

Jeśli określona wartość zawiera cudzysłowy podwójne ("), apostrofy (') lub ukośnik odwrotny (\), należy użyć tych znaków, prefiksując je znakiem ukośnika odwrotnego (\). Jeśli określona wartość używa operatora LIKE WQL, należy użyć następujących znaków, ujęcie ich w nawiasy kwadratowe ([]): procent (%), podkreślenie (_) lub otwierając nawias kwadratowy ([).

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

QuerySessionSet
Position:Named
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
QueryComputerSet
Position:Named
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-QueryDialect

Określa język zapytań używany dla parametru Query. Dopuszczalne wartości tego parametru to: WQL lub CQL.

Wartość domyślna to WQL.

Właściwości parametru

Typ:String
Domyślna wartość:WQL
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

QuerySessionSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
QueryComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-ResourceUri

Określa jednolity identyfikator zasobu (URI) klasy zasobów lub jej wystąpienia. Identyfikator URI służy do identyfikowania określonego typu zasobu, takiego jak dyski lub procesy, na komputerze.

Identyfikator URI składa się z prefiksu i ścieżki do zasobu. Przykład:

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Domyślnie, jeśli nie określisz tego parametru, używany jest identyfikator URI zasobu standardowego DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/, a nazwa klasy jest dołączana do niego.

ResourceUri można używać tylko z sesjami modelu CIM utworzonymi przy użyciu protokołu WSMan lub podczas określania parametru ComputerName, który tworzy sesję modelu CIM przy użyciu narzędzia WSMan.

Po określeniu tego parametru bez określania parametru ComputerName lub podczas określania sesji modelu ciM utworzonej przy użyciu protokołu DCOM występuje błąd. Protokół DCOM nie obsługuje parametru ResourceUri.

Jeśli określono zarówno parametr ResourceUri, jak i parametr Filter, parametr Filter zostanie zignorowany.

Właściwości parametru

Typ:Uri
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

CimInstanceComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False
CimInstanceSessionSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

CimClass

Możesz przekazać do tego polecenia cmdlet klasę CIM.

CimInstance

Możesz przekazać wystąpienie modelu CIM do tego polecenia cmdlet.

Dane wyjściowe

PSCustomObject

To polecenie cmdlet zwraca obiekt.

Uwagi

Program PowerShell zawiera następujące aliasy dla Invoke-CimMethod:

  • Windows:
    • icim

Ten cmdlet jest dostępny tylko na platformach Windows.