Risorsa file DSC

Si applica a: Windows PowerShell 4.0, Windows PowerShell 5.x

La risorsa file in Windows PowerShell DSC (Desired State Configuration) fornisce un meccanismo per gestire file e cartelle nel nodo di destinazione. DestinationPath e SourcePath devono essere entrambi accessibili dal nodo di destinazione.

Nota

Questa documentazione di questa risorsa DSC illustra la versione inclusa in PowerShell prima della versione 7.2. Il modulo PSDscResources contiene risorse DSC nuove e aggiornate supportate ufficialmente da Microsoft. Il modulo PSDscResources è disponibile in PowerShell Gallery.

Per altre informazioni e documentazione aggiornata, vedere la documentazione di riferimento PSDscResources.

Sintassi

File [string] #ResourceName
{
    DestinationPath = [string]
    [ Attributes = [string[]] { Archive | Hidden | ReadOnly | System }]
    [ Checksum = [string] { CreatedDate | ModifiedDate | SHA-1 | SHA-256 | SHA-512 } ]
    [ Contents = [string] ]
    [ Credential = [PSCredential] ]
    [ Force = [bool] ]
    [ Recurse = [bool] ]
    [ SourcePath = [string] ]
    [ Type = [string] { Directory | File } ]
    [ MatchSource = [bool] ]
    [ DependsOn = [string[]] ]
    [ Ensure = [string] { Absent | Present } ]
    [ PsDscRunAsCredential = [PSCredential] ]
}

Proprietà

Proprietà Descrizione
DestinationPath Il percorso, nel nodo di destinazione, si vuole assicurarsi che sia Presente o Absent con Assicurarsi.
Attributi Stato desiderato degli attributi per il file o la directory di destinazione. I valori validi sono Archive, Hidden, ReadOnlye System.
Checksum Tipo di checksum da utilizzare per determinare se due file sono uguali. I valori validi includono: SHA-1, SHA-256, SHA-512, createdDate, modifiedDate.
Contenuto Valido solo se usato con tipofile. Indica il contenuto da Verificare che le siano Presenti o Assente dal file di destinazione.
Credenziale Credenziali necessarie per accedere alle risorse, ad esempio i file di origine.
Forza Esegue l'override delle operazioni di accesso che generano un errore, ad esempio la sovrascrittura di un file o l'eliminazione di una directory non vuota. Il valore predefinito è $false.
Recurse Valido solo se usato con TypeDirectory. Esegue l'operazione di stato in modo ricorsivo a tutto il contenuto della directory, le sottodirectory e il contenuto della sottodirectory. Il valore predefinito è $false.
SourcePath Percorso da cui copiare la risorsa file o cartella.
Digitare Tipo di risorsa da configurare. I valori validi sono directory e File. Il valore predefinito è File.
MatchSource Determina se la risorsa deve monitorare i nuovi file aggiunti alla directory di origine dopo la copia iniziale. Un valore di $true indica che, dopo la copia iniziale, tutti i nuovi file di origine devono essere copiati nella destinazione. Se impostato su $false, la risorsa memorizza nella cache il contenuto della directory di origine e ignora tutti i file aggiunti dopo la copia iniziale. Il valore predefinito è $false.

Avvertimento

Se non si specifica un valore per credenziali o PSRunAsCredential, la risorsa userà l'account computer del nodo di destinazione per accedere al SourcePath. Quando il SourcePath è una condivisione UNC, potrebbe verificarsi un errore di accesso negato. Assicurarsi che le autorizzazioni siano impostate di conseguenza oppure usare le proprietà Credential o PSRunAsCredential per specificare l'account da usare.

Proprietà comuni

Proprietà Descrizione
DependsOn Indica che la configurazione di un'altra risorsa deve essere eseguita prima della configurazione di questa risorsa. Ad esempio, se l'ID del blocco di script di configurazione della risorsa che si vuole eseguire per primo è ResourceName e il relativo tipo è ResourceType, la sintassi per l'uso di questa proprietà è DependsOn = "[ResourceType]ResourceName".
Assicurare Determina se il file e il contenuto nella destinazione devono esistere o meno. Impostare questa proprietà su Present per assicurarsi che il file esista. Impostarlo su absent per assicurarsi che non esistano. Il valore predefinito è Present.
PsDscRunAsCredential Imposta le credenziali per l'esecuzione dell'intera risorsa come .

Nota

La PsDscRunAsCredential proprietà comune è stata aggiunta in WMF 5.0 per consentire l'esecuzione di qualsiasi risorsa DSC nel contesto di altre credenziali. Per altre informazioni, vedere Usare credenziali con risorse DSC.

Informazioni aggiuntive

  • Quando si specifica solo un DestinationPath, la risorsa garantisce che il percorso esista se presente o non esiste se Absent.
  • Quando si specifica un SourcePath e un DestinationPath con un tipo valore Directory, la risorsa copia la directory di origine nel percorso di destinazione. Le proprietà Recurse, Forcee MatchSource modificare il tipo di operazione di copia eseguita, mentre Credential determina quale account usare per accedere alla directory di origine.
  • Se non si imposta la proprietà Recurse su durante la copia di una directory, nessuno dei contenuti della directory esistente verrà copiato. Verrà copiata solo la directory specificata.
  • Se è stato specificato un valore di ReadOnly per la proprietà Attributi insieme a un DestinationPath, EnsurePresent creerebbe il percorso specificato, mentre Contents imposta il contenuto del file. Un'impostazione di EnsureAbsent ignorerebbe completamente la proprietà Attributi e rimuoverà qualsiasi file nel percorso specificato.

Esempio

Nell'esempio seguente viene copiata una directory e le relative sottodirectory da un server di pull a un nodo di destinazione usando la risorsa file. Se l'operazione ha esito positivo, la risorsa log scrive un messaggio di conferma nel registro eventi.

La directory di origine è un percorso UNC (\\PullServer\DemoSource) condiviso dal server di pull. La proprietà Recurse garantisce che vengano copiate anche tutte le sottodirectory.

Importante

Gestione configurazione locale nel nodo di destinazione viene eseguita nel contesto dell'account di sistema locale per impostazione predefinita. Per concedere l'accesso al SourcePath, assegnare all'account computer del nodo di destinazione le autorizzazioni appropriate. Il delle credenziali e PSDSCRunAsCredential modificare il contesto usato da Gestione configurazione locale per accedere al SourcePath. È comunque necessario concedere l'accesso all'account che verrà usato per accedere al SourcePath.

Configuration FileResourceDemo
{
    Import-DscResource -ModuleName 'PSDesiredStateConfiguration'

    Node "localhost"
    {
        File DirectoryCopy
        {
            Ensure = "Present" # Ensure the directory is Present on the target node.
            Type = "Directory" # The default is File.
            Recurse = $true # Recursively copy all subdirectories.
            SourcePath = "\\PullServer\DemoSource"
            DestinationPath = "C:\Users\Public\Documents\DSCDemo\DemoDestination"
        }

        Log AfterDirectoryCopy
        {
            # The message below gets written to the Microsoft-Windows-Desired State Configuration/Analytic log
            Message = "Finished running the file resource with ID DirectoryCopy"
            DependsOn = "[File]DirectoryCopy" # Depends on successful execution of the File resource.
        }
    }
}

Per altre informazioni sull'uso di credentials in DSC, vedere RunAs User o Config Data Credentials.