次の方法で共有


ノードを再起動する

Note

このトピックでは、ノードの再起動方法について説明します。 再起動を成功させるために、ActionAfterRebootRebootNodeIfNeeded の LCM 設定は適切に構成される必要があります。 ローカル構成マネージャーの設定については、「ローカル構成マネージャーの構成」またはローカル構成マネージャー (v4) の構成に関するページを参照してください。

ノードは、$global:DSCMachineStatus フラグを使用することで、リソース内から再起動できます。 Set-TargetResource 関数でこのフラグを 1 に設定すると、現在のリソースの Set メソッドの直後に、LCM によってノードが再起動されます。 このフラグを使用して、ComputerManagementDsc DSC リソース モジュールの PendingReboot リソースで、DSC の外部で再起動が保留されているかどうかを検出します。

ご利用の構成では、ノードの再起動を必要とするステップを実行できます。 これには次のような内容を含めることができます。

  • Windows の更新プログラム
  • ソフトウェアのインストール
  • ファイル名の変更
  • コンピューター名の変更

PendingReboot リソースでは、特定のコンピューターの場所を確認して、再起動が保留中かどうかが判断されます。 ノードで DSC の外部で再起動が必要な場合、PendingReboot リソースでは $global:DSCMachineStatus フラグに 1 を設定して、再起動が強制され、保留中の状態が解決されます。

Note

任意の DSC リソースにより、Set-TargetResource 関数にこのフラグを設定することで、LCM にノードを再起動するように指示できます。 詳細については、「MOF を使用したカスタム DSC リソースの記述」を参照してください。

構文

PendingReboot [String] #ResourceName
{
    Name = [string]
    [DependsOn = [string[]]]
    [PsDscRunAsCredential = [PSCredential]]
    [SkipCcmClientSDK = [bool]]
    [SkipComponentBasedServicing = [bool]]
    [SkipPendingComputerRename = [bool]]
    [SkipPendingFileRename = [bool]]
    [SkipWindowsUpdate = [bool]]
}

Properties

プロパティ 説明
名前 構成内のリソースのインスタンスごとに一意である必要がある必須のパラメーターです。
SkipComponentBasedServicing コンポーネント ベース サービシング コンポーネントによってトリガーされた再起動がスキップされます。
SkipWindowsUpdate Windows の更新プログラムによってトリガーされた再起動がスキップされます。
SkipPendingFileRename 保留中のファイル名の変更による再起動がスキップされます。
SkipCcmClientSDK ConfigMgr クライアントによってトリガーされた再起動がスキップされます。
SkipComputerRename コンピューター名の変更によってトリガーされた再起動がスキップされます。
PSDSCRunAsCredential v5 でサポートされています。 特定のユーザーとしてリソースを実行します。
DependsOn このリソースを構成する前に、他のリソースの構成を実行する必要があることを示します。 たとえば、最初に実行するリソース構成スクリプト ブロックの ID が ResourceName で、そのタイプが ResourceType である場合、このプロパティを使用する構文は DependsOn = "[ResourceType]ResourceName" になります。 詳細については、DependsOn の使用に関するページを参照してください。

次の例では、xExchange リソースを使用して Microsoft Exchange をインストールします。 インストールの間中、PendingReboot リソースはノードの再起動に使用されます。

Note

この例には、Exchange サーバーをフォレストに追加する権限を持つ、アカウントの資格情報が必要です。 DSC での資格情報の使用に関する詳細については、「DSC での資格情報の処理」を参照してください。

$ConfigurationData = @{
    AllNodes = @(
        @{
            NodeName                    = '*'
            PSDSCAllowPlainTextPassword = $true
        },
        @{
            NodeName = 'DSCPULL-1'
        }
    )
}

Configuration Example
{
    param
    (
        [Parameter(Mandatory = $true)]
        [System.Management.Automation.PSCredential]
        $ExchangeAdminCredential
    )

    Import-DSCResource -ModuleName xExchange
    Import-DSCResource -ModuleName ComputerManagementDsc

    Node $AllNodes.NodeName
    {
        # Copy the Exchange setup files locally
        File ExchangeBinaries
        {
            Ensure          = 'Present'
            Type            = 'Directory'
            Recurse         = $true
            SourcePath      = '\\rras-1\Binaries\E15CU6'
            DestinationPath = 'C:\Binaries\E15CU6'
        }

        # Check if a reboot is needed before installing Exchange
        PendingReboot BeforeExchangeInstall
        {
            Name       = 'BeforeExchangeInstall'
            DependsOn  = '[File]ExchangeBinaries'
        }

        # Do the Exchange install
        xExchInstall InstallExchange
        {
            Path       = 'C:\Binaries\E15CU6\Setup.exe'
            Arguments  = '/mode:Install /role:Mailbox /Iacceptexchangeserverlicenseterms'
            Credential = $ExchangeAdminCredential
            DependsOn  = '[PendingReboot]BeforeExchangeInstall'
        }

        # See if a reboot is required after installing Exchange
        PendingReboot AfterExchangeInstall
        {
            Name      = 'AfterExchangeInstall'
            DependsOn = '[xExchInstall]InstallExchange'
        }
    }
}

Note

この例では、再起動と、再起動後に構成を継続できるように、ローカル構成マネージャーを構成しているとします。

ダウンロードする場所

次の場所でこのトピックで使用したリソースをダウンロードできます。PowerShell ギャラリーを使用してダウンロードすることもできます。