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.

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.

Type:String
Accepted values:Get, Set, Test
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ModuleName

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

Type:ModuleSpecification
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Property

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

Type:Hashtable
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.