Condividi tramite


Invoke-DscResource

Esegue un metodo di una risorsa di PowerShell Desired State Configuration (DSC) specificata.

Sintassi

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

Descrizione

Il cmdlet Invoke-DscResource esegue un metodo di una risorsa DSC (Desired State Configuration) specificata di PowerShell.

Questo cmdlet richiama direttamente una risorsa DSC senza creare un documento di configurazione. Usando questo cmdlet, i prodotti di gestione della configurazione possono gestire windows o Linux con risorse DSC.

Questo cmdlet non funziona con le risorse composite. Le risorse composite sono configurazioni con parametri. L'uso di risorse composite richiede Gestione configurazione locale.

Nota

Prima di PSDesiredStateConfiguration 2.0.6, l'uso Invoke-DscResource di in PowerShell 7 richiede l'abilitazione di una funzionalità sperimentale di PowerShell. Per usare il cmdlet nelle versioni da 2.0.0 a 2.0.5, è necessario abilitarlo con il comando seguente.

Enable-ExperimentalFeature PSDesiredStateConfiguration.InvokeDscResource

Esempio

Esempio 1: Richiamare il metodo Set di una risorsa specificando le relative proprietà obbligatorie

In questo esempio viene richiamato il metodo Set di una risorsa denominata WindowsProcess e vengono fornite le proprietà Path e Arguments obbligatorie per avviare il processo di Windows specificato.

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

Esempio 2: Richiamare il metodo Test di una risorsa per un modulo specificato

In questo esempio viene richiamato il metodo Test di una risorsa denominata WindowsProcess, che si trova nel modulo denominato PSDesiredStateConfiguration.

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

Invoke-DscResource @SplatParam

Parametri

-Method

Specifica il metodo della risorsa richiamata da questo cmdlet. I valori accettabili per questo parametro sono Get,Set e Test.

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

-ModuleName

Specifica il nome del modulo che specifica la risorsa DSC specificata da richiamare.

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

-Name

Specifica il nome della risorsa DSC da richiamare.

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

-Property

Specifica il nome della proprietà delle risorse e il relativo valore in una tabella hash rispettivamente come chiave e valore.

Type:Hashtable
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Input

String

ModuleSpecification

Output

Object

Note

  • In Windows PowerShell 5.1 risorse eseguite nel contesto di sistema, a meno che non venga specificato con il contesto utente usando la chiave PsDscRunAsCredential. In PowerShell 7.0 le risorse vengono eseguite nel contesto dell'utente e PsDscRunAsCredential non sono più supportate. L'uso di questa chiave fa sì che il cmdlet generi un'eccezione.

  • A partire da PowerShell 7, Invoke-DscResource non supporta più la chiamata di risorse DSC WMI. Sono incluse le risorse File e Log in PSDesiredStateConfiguration.