Invoke-CimMethod
Wywołuje metodę klasy CIM.
Składnia
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>]
Opis
To polecenie cmdlet jest dostępne tylko na platformie Windows.
Polecenie Invoke-CimMethod
cmdlet 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 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 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 parametr CimSession , to to polecenie cmdlet używa wartości parametru CimSession lub 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 .
Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"
Przykład 2. Wywoływanie metody przy użyciu obiektu wystąpienia modelu CIM
W tym przykładzie pobiera obiekt wystąpienia modelu CIM i przechowuje go w zmiennej Get-CimInstance
o nazwie $x
przy użyciu polecenia cmdlet . Zawartość zmiennej jest następnie używana jako inputObject dla Invoke-CimMethod
polecenia cmdlet. Metoda GetOwner jest wywoływana dla klasy 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
Ten przykład wywołuje metodę Twórca 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 walidacja po stronie klienta dla metody xyz przez przekazanie obiektu CimClass do Invoke-CimMethod
obiektu .
$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -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.
Type: | IDictionary |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CimClass
Określa obiekt klasy CIM reprezentujący definicję klasy CIM na serwerze. Użyj tego parametru podczas wywoływania metody statycznej klasy.
Możesz użyć polecenia cmdlet , Get-CimClass
aby pobrać definicję klasy z serwera.
Użycie tego parametru powoduje lepsze weryfikacje schematu po stronie klienta.
Type: | CimClass |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CimSession
Uruchamia polecenie przy użyciu określonej sesji CIM. Wprowadź zmienną zawierającą sesję CIM lub polecenie, które tworzy lub pobiera sesję modelu CIM, na przykład New-CimSession
polecenia cmdlet lub .Get-CimSession
Aby uzyskać więcej informacji, zobacz about_CimSession.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ClassName
Określa nazwę klasy CIM, dla której ma być wykonywana operacja. Ten parametr jest używany tylko dla metod statycznych. Za pomocą uzupełniania karty można przeglądać listę klas, ponieważ program PowerShell pobiera listę klas z lokalnego serwera WMI w celu udostępnienia listy nazw klas.
Type: | String |
Aliases: | Class |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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).
Nawiązywanie połączenia przy użyciu sesji ciągłej integracji w celu uzyskania lepszej wydajności w przypadku wykonywania wielu operacji na tym samym komputerze.
Type: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Określa obiekt wystąpienia modelu CIM, który ma być używany jako dane wejściowe do wywołania metody. Ten parametr może służyć tylko do wywoływania metod wystąpień. Aby wywołać metody statyczne klasy, użyj parametru Class lub parametru CimClass .
Type: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MethodName
Określa nazwę metody CIM do wywołania. Ten parametr jest obowiązkowy i nie może mieć wartości null ani być pusty. Aby wywołać statyczną metodę klasy CIM, użyj parametru ClassName lub CimClass .
Type: | String |
Aliases: | Name |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Namespace
Określa przestrzeń nazw dla operacji ciągłej integracji. Domyślna przestrzeń nazw to root/cimv2. Za pomocą uzupełniania karty można przeglądać listę przestrzeni nazw, ponieważ program PowerShell pobiera listę przestrzeni nazw z lokalnego serwera WMI w celu udostępnienia listy przestrzeni nazw.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OperationTimeoutSec
Określa czas oczekiwania polecenia cmdlet na odpowiedź z 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 3 minuty, błędy sieci, które trwają dłużej niż wartość parametru OperationTimeoutSec , nie można odzyskać.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Query
Określa zapytanie do uruchomienia na serwerze CIM. Metoda jest wywoływana na wystąpieniach odebranych w wyniku zapytania. Można określić dialekt zapytania przy użyciu parametru QueryDialect .
Jeśli określona wartość zawiera cudzysłowy podwójne (), pojedyncze cudzysłowy ("
) lub ukośnik odwrotny ('
\
), należy użyć ucieczki tych znaków, prefiksując je znakiem ukośnika odwrotnego (\
). Jeśli określona wartość używa operatora LIKE WQL, należy uciec od następujących znaków, zamykając je w nawiasach kwadratowych (): procent ([]
%
), podkreślenie (_
) lub otwierający nawias kwadratowy ([
).
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | WQL |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ResourceUri
Określa identyfikator URI zasobu klasy zasobów lub 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. Na 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, zostanie użyty standardowy identyfikator URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
zasobu DMTF i nazwa klasy zostanie dołączona 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ę CIM przy użyciu programu WSMan.
Po określeniu tego parametru bez określania parametru ComputerName lub podczas określania sesji 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 Filtr , parametr Filtr jest ignorowany.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
Możesz przekazać do tego polecenia cmdlet klasę CIM.
Możesz przekazać do tego polecenia cmdlet wystąpienie modelu CIM.
Dane wyjściowe
To polecenie cmdlet zwraca obiekt.
Uwagi
Program PowerShell zawiera następujące aliasy dla Invoke-CimMethod
programu :
- W systemie Windows:
icim
To polecenie cmdlet jest dostępne tylko na platformach systemu Windows.