Invoke-CimMethod
Wywołuje metodę klasy CIM.
Składnia
ClassNameComputerSet (domyślnie)
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>]
ResourceUriSessionSet
Invoke-CimMethod
[[-Arguments] <IDictionary>]
[-MethodName] <String>
-ResourceUri <Uri>
-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>]
CimInstanceComputerSet
Invoke-CimMethod
[-InputObject] <CimInstance>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CimInstanceSessionSet
Invoke-CimMethod
[-InputObject] <CimInstance>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CimClassSessionSet
Invoke-CimMethod
[-CimClass] <CimClass>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
-CimSession <CimSession[]>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CimClassComputerSet
Invoke-CimMethod
[-CimClass] <CimClass>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-ComputerName <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>]
QueryComputerSet
Invoke-CimMethod
[[-Arguments] <IDictionary>]
[-MethodName] <String>
-Query <String>
[-QueryDialect <String>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
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 w jeden z następujących sposobów:
- Jeśli nie określono parametru ComputerName ani parametru CimSession, to polecenie cmdlet działa w lokalnej 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 względem serwera CIM określonego przez parametr ComputerName lub cimSession parametru.
Jeśli określono parametr InputObject, polecenie cmdlet działa na jeden z następujących sposobów:
- Jeśli nie określono ani parametru ComputerName, ani parametru CimSession, to to polecenie cmdlet używa sesji modelu 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. Uwaga: nie jest to bardzo powszechne.
Przykłady
Przykład 1: Wywoływanie metody
Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"
To polecenie wywołuje metodę o nazwie Terminate w klasie CIM o nazwie Win32_Process. Klasa CIM jest pobierana przez zapytanie "Select * from Win32_Process where name like 'Notatnik%'".
Przykład 2. Wywoływanie metody przy użyciu obiektu wystąpienia modelu CIM
$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner
Ten zestaw poleceń 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 element InputObject dla polecenia cmdlet Invoke-CimMethod, a metoda GetOwner jest wywoływana dla klasy CimInstance.
Przykład 3. Wywoływanie metody statycznej
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ Path = "notepad.exe" }
To polecenie wywołuje metodę statyczną Create w klasie o nazwie Win32_Process z argumentami określonymi przez parametr Argumenty.
Przykład 4. Wywoływanie metody przy użyciu argumentów
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{ CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32" }
To polecenie wywołuje metodę o nazwie Create przy użyciu parametru Arguments.
Przykład 5. Walidacja po stronie klienta
$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }
Ten zestaw poleceń wykonuje weryfikację po stronie klienta dla metody o nazwie xyz, przekazując obiekt CimClass do polecenia cmdlet Invoke-CimMethod.
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ązkowe: | 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
CimClassSessionSet
| Position: | 0 |
| Obowiązkowe: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CimClassComputerSet
| Position: | 0 |
| Obowiązkowe: | 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_CimSessions.
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ązkowe: | 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ązkowe: | 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ązkowe: | 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ązkowe: | 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. UWAGA: Do przeglądania listy klas można użyć uzupełniania tabulacji, ponieważ program Windows PowerShell pobiera listę klas z lokalnego serwera WMI, aby podać listę nazw klas.
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ązkowe: | 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ązkowe: | 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.
Jeśli określisz ten parametr, polecenie cmdlet utworzy sesję tymczasową na określonym komputerze przy użyciu protokołu WsMan.
Jeśli nie określisz tego parametru, polecenie cmdlet wykonuje operację na komputerze lokalnym przy użyciu modelu obiektów składników (COM).
Jeśli na tym samym komputerze jest wykonywanych wiele operacji, połączenie przy użyciu sesji modelu CIM zapewnia lepszą wydajność.
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ązkowe: | 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ązkowe: | 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ązkowe: | 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ązkowe: | 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ązkowe: | 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 Class 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ązkowe: | 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ązkowe: | 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ć metodę statyczną klasy CIM, użyj parametru ClassName lub 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ązkowe: | 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ązkowe: | 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ązkowe: | 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ązkowe: | 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ązkowe: | 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ązkowe: | 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ązkowe: | 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ż limit czasu ponawiania próby niezawodnego połączenia przez 3 minuty, awarie sieci, które trwają dłużej niż wartość parametru OperationTimeoutSec, nie są możliwe do odzyskania, ponieważ operacja na serwerze przekracza limit czasu, zanim klient będzie mógł ponownie nawiązać połączenie.
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ązkowe: | 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 je usunąć, 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ązkowe: | 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ązkowe: | 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ść: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
QuerySessionSet
| Position: | Named |
| Obowiązkowe: | 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ązkowe: | 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:
https://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.
Identyfikator ResourceURI może być używany 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. Jeśli określisz ten parametr bez określenia parametru ComputerName lub jeśli określisz sesję modelu ciM utworzoną przy użyciu protokołu DCOM, zostanie wyświetlony błąd, ponieważ 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
ResourceUriSessionSet
| Position: | Named |
| Obowiązkowe: | True |
| 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ązkowe: | True |
| 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ązkowe: | 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
CIM class
To polecenie cmdlet akceptuje klasę CIM jako obiekt wejściowy.
CIM instance
To polecenie cmdlet akceptuje wystąpienie modelu CIM jako obiekt wejściowy.
Dane wyjściowe
PSCustomObject
To polecenie cmdlet zwraca obiekt.