Поделиться через


Скрипт

Краткий обзор

Запуск блоков скриптов PowerShell.

Синтаксис

Script [String] #ResourceName
{
    GetScript = [string]
    SetScript = [string]
    TestScript = [string]
    [Credential = [PSCredential]]
    [DependsOn = [string[]]]
    [PsDscRunAsCredential = [PSCredential]]
}

Описание

Ресурс Script позволяет написать код PowerShell для получения, тестирования и задания ресурса, когда конкретный ресурс DSC недоступен. Необходимо предоставить код для этих методов, обработать все зависимости и убедиться, что код является идемпотентным.

Совет

По возможности рекомендуется использовать определенный ресурс DSC вместо этого. У Script ресурса есть недостатки, которые усложняют тестирование, обслуживание и прогнозирование.

В отличие от других ресурсов DSC, каждое свойство ресурса Script является ключевым свойством, и метод Get для этого ресурса может возвращать только одну строку для текущего состояния. Нет никаких гарантий, что этот ресурс реализуется идемпотентно или что он будет работать должным образом в любой системе, так как он использует пользовательский код. Его нельзя протестировать без вызова в целевой системе.

Прежде чем использовать Script ресурс, подумайте, можно ли вместо него создать ресурс . Использование четко определенных ресурсов DSC делает конфигурации более удобочитаемыми и поддерживаемыми.

Требования

Нет.

Свойства

свойства ключа;

GetScript

Укажите блок скрипта PowerShell, который получает текущее состояние ресурса. Этот scriptblock запускается при вызове метода Get для этого ресурса.

Этот scriptblock должен возвращать хэш-таблицу, содержащую один ключ Result со строковым значением.

Type: System.String

SetScript

Укажите блок скрипта PowerShell, который настраивает ресурс в нужное состояние. Этот блок скрипта выполняется при вызове метода Set для этого ресурса.

Этот блок скрипта не должен выводить никакие объекты. Этот блок скрипта должен быть записан идемпотентно, чтобы при двойном вызове метода Set целевой объект был в том же состоянии, что и один раз.

Type: System.String

TestScript

Укажите блок скрипта PowerShell, который проверяет, находится ли ресурс в нужном состоянии. Этот блок скрипта выполняется при вызове метода Test для этого ресурса.

Этот блок скрипта должен возвращать значение $true , если ресурс находится в нужном состоянии, а $false если он не находится в нужном состоянии.

Type: System.String

Необязательные свойства

Подтверждение компетенции

При необходимости укажите учетные данные учетной записи для запуска скриптблоков.

Type: System.Management.Automation.PSCredential
Default Value: None

Свойства только для чтения

Результат

Результат из блока скрипта GetScript .

Type: System.String

Примеры