Udostępnij za pośrednictwem


Invoke-DscResource

Uruchamia metodę określonego zasobu Desired State Configuration programu PowerShell (DSC).

Składnia

Invoke-DscResource
      [-Name] <String>
      [[-ModuleName] <ModuleSpecification>]
      [-Method] <String>
      [-Property] <Hashtable>
      [<CommonParameters>]

Opis

Polecenie Invoke-DscResource cmdlet uruchamia metodę określonego zasobu Desired State Configuration programu PowerShell (DSC).

To polecenie cmdlet wywołuje bezpośrednio zasób DSC bez tworzenia dokumentu konfiguracji. Za pomocą tego polecenia cmdlet produkty do zarządzania konfiguracją mogą zarządzać systemami Windows lub Linux przy użyciu zasobów DSC.

To polecenie cmdlet nie działa z zasobami złożonymi. Zasoby złożone są sparametryzowane konfiguracje. Korzystanie z zasobów złożonych wymaga narzędzia LCM.

Uwaga

Przed programem PSDesiredStateConfiguration 2.0.6 użycie Invoke-DscResource w programie PowerShell 7 wymaga włączenia funkcji eksperymentalnej programu PowerShell. Aby użyć polecenia cmdlet w wersjach 2.0.0 do 2.0.5, należy włączyć je za pomocą następującego polecenia.

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

Przykłady

Przykład 1. Wywołaj metodę Set zasobu, określając jej obowiązkowe właściwości

W tym przykładzie wywoływana jest metoda Set zasobu o nazwie WindowsProcess i udostępnia obowiązkowe właściwości Path and Arguments w celu uruchomienia określonego procesu systemu Windows.

Invoke-DscResource -Name WindowsProcess -Method Set -ModuleName PSDesiredStateConfiguration -Property @{
  Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
  Arguments = ''
}

Przykład 2. Wywoływanie metody testowej zasobu dla określonego modułu

W tym przykładzie wywoływana jest metoda Test zasobu o nazwie WindowsProcess, który znajduje się w module o nazwie PSDesiredStateConfiguration.

$SplatParam = @{
    Name       = 'WindowsProcess'
    ModuleName = 'PSDesiredStateConfiguration'
    Method     = 'Test'
    Property   = @{
        Path      = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe'
        Arguments = ''
    }
}

Invoke-DscResource @SplatParam

Parametry

-Method

Określa metodę zasobu, który wywołuje to polecenie cmdlet. Dopuszczalne wartości tego parametru to: Get, Set i Test.

Typ:String
Dopuszczalne wartości:Get, Set, Test
Position:2
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ModuleName

Określa nazwę modułu udostępniającego określony zasób DSC do wywołania.

Typ:ModuleSpecification
Position:1
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Name

Określa nazwę zasobu DSC do wywołania.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Property

Określa nazwę właściwości zasobu i jej wartość w tabeli skrótów odpowiednio jako klucz i wartość.

Typ:Hashtable
Position:3
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

String

ModuleSpecification

Dane wyjściowe

Object

Uwagi

  • W Windows PowerShell 5.1 zasoby zostały uruchomione w kontekście systemowym, chyba że określono kontekst użytkownika przy użyciu klucza PsDscRunAsCredential. W programie PowerShell 7.0 zasoby są uruchamiane w kontekście użytkownika, a program PsDscRunAsCredential nie jest już obsługiwany. Użycie tego klucza powoduje, że polecenie cmdlet zgłasza wyjątek.

  • Od programu PowerShell 7 Invoke-DscResource nie obsługuje już wywoływania zasobów DSC WMI. Obejmuje to zasoby plików i dzienników w pliku PSDesiredStateConfiguration.