Ресурс File в DSC
Область применения: Windows PowerShell 4.0, Windows PowerShell 5.x
Ресурс File в DSC Windows PowerShell предоставляет механизм управления файлами и папками на целевом узле. Свойства DestinationPath и SourcePath должны быть доступны для целевого узла.
Примечание
В этой документации по этому ресурсу DSC рассматривается версия, которая входит в состав PowerShell до версии 7.2. Модуль PSDscResources содержит новые и обновленные ресурсы DSC, которые официально поддерживаются корпорацией Майкрософт. Модуль PSDscResources доступен из коллекции PowerShell.
Дополнительные сведения и обновленную документацию см. в справочной документации по PSDscResources.
Синтаксис
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] ]
}
Свойства
Свойство | Описание |
---|---|
DestinationPath | Расположение на целевом узле, которое нужно проверить (Ensure) на наличие (Present) или отсутствие (Absent). |
Атрибуты | Требуемое состояние атрибутов для целевого файла или каталога. Допустимые значения: Archive, Hidden, ReadOnly и System. |
Контрольная сумма | Тип контрольной суммы для использования при проверке двух файлов на идентичность. Допустимые значения: SHA-1, SHA-256, SHA-512, createdDate, modifiedDate. |
Содержимое | Допустимо только при использовании с типом TypeFile. Указывает содержимое из целевого файла, которое нужно проверить (Ensure) на наличие (Present) или отсутствие (Absent). |
Учетные данные | Учетные данные, необходимые для доступа к ресурсам, например, к исходным файлам. |
Force | Переопределяет операции доступа, которые вызывают ошибку (например, перезапись файла или удаление непустого каталога). Значение по умолчанию: $false . |
Recurse | Допустимо только при использовании с типом TypeDirectory. Выполняет операцию с состоянием рекурсивно для всего содержимого каталога, подкаталогов и содержимого подкаталогов. Значение по умолчанию: $false . |
SourcePath | Путь, откуда нужно скопировать ресурс файла или папки. |
Тип | Тип настраиваемого ресурса. Допустимые значения: Directory и File. Значение по умолчанию — File. |
MatchSource | Определяет, должен ли ресурс отслеживать новые файлы, добавленные в исходный каталог после исходной копии. Значение $true указывает, что после исходной копии все новые исходные файлы должны быть скопированы в место назначения. Если задано значение $false , ресурс кэширует содержимое исходного каталога и игнорирует любые файлы, добавленные после исходной копии. Значение по умолчанию: $false . |
Предупреждение
Если не указать значение для свойства Credential или PSRunAsCredential, ресурс будет использовать учетную запись компьютера целевого узла для доступа к свойству SourcePath. Если SourcePath представляет собой общий ресурс UNC, это может привести к ошибке отказа в доступе. Убедитесь, что разрешения установлены соответственно, или используйте свойства Credential или PSRunAsCredential, чтобы указать учетную запись, которая должна использоваться.
Общие свойства
Свойство | Описание |
---|---|
DependsOn | Указывает, что перед настройкой этого ресурса необходимо запустить настройку другого ресурса. Например, если идентификатор первого запускаемого блока сценария для конфигурации ресурса — ResourceName, а его тип — ResourceType, то синтаксис использования этого свойства таков: DependsOn = "[ResourceType]ResourceName" . |
Ensure | Определяет, должны ли существовать файл и Contents в Destination. Чтобы гарантировать, что файл существует, укажите для этого свойства значение Present. Чтобы убедиться, что содержимого не существует, укажите для этого свойства значение Absent. Значение по умолчанию — Present. |
PsDscRunAsCredential | Задает учетные данные для выполнения всего ресурса от другого имени. |
Примечание
В WMF 5.0 было добавлено общее свойство PsDscRunAsCredential, разрешающее запуск любого ресурса DSC в контексте других учетных данных. Дополнительные сведения см. в разделе Использование учетных данных с ресурсами DSC.
Дополнительные сведения
- При указании только свойства DestinationPath ресурс проверяет, что путь существует (Present) или не существует (Absent).
- При указании свойств SourcePath и DestinationPath, для которых свойство Type имеет значение Directory, ресурс копирует исходный каталог в путь назначения. Свойства Recurse, Force и MatchSource изменяют тип выполняемой операции копирования, а свойство Credential определяет, какую учетную запись следует использовать для доступа к исходному каталогу.
- Если не задать для свойства Recurse значение
$true
при копировании каталога, содержимое существующего каталога не будет скопировано. Будет скопирован только указанный каталог. - Если вы указали значение ReadOnly для свойства Attributes вместе с DestinationPath, Ensure и Present будут создавать указанный путь, а Contents задает содержимое файла. Задание EnsureAbsent приведет к пропуску свойства Attributes полностью и удалит любой файл по указанному пути.
Пример
В следующем примере копируется каталог и его подкаталоги с опрашиваемого сервера на целевой узел, использующий ресурс File. Если операция прошла успешно, ресурс Log записывает в журнал событий сообщение с подтверждением.
Исходный каталог — это UNC-путь (\\PullServer\DemoSource
), к которому предоставлен общий доступ с опрашиваемого сервера. Свойство Recurse гарантирует, что также копируются все подкаталоги.
Важно!
LCM на целевом узле выполняется в контексте локальной системной учетной записи по умолчанию. Чтобы предоставить доступ к свойству SourcePath, задайте соответствующие разрешения для учетной записи компьютера целевого узла. Свойства Credential и PSDSCRunAsCredential изменяют контекст, который LCM использует для доступа к свойству SourcePath. Вам по-прежнему необходимо предоставить доступ к учетной записи, которая будет использоваться для доступа к свойству 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.
}
}
}
Дополнительные сведения об использовании свойства Credentials в DSC см. в разделе Use Credentials with DSC Resources (Использование учетных данных с ресурсами DSC) или Credentials Options in Configuration Data (Параметры учетных данных в данных конфигурации).
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по