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
Output
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.