0

Desired State Configuration (DSC) を使用しようとすると問題が発生します。スクリプト リソースを使用していますが、実行するStart-DscConfiguration -Wait -Verbose -Path .\blahと、何があってもステップがスキップされます。TestScript を False に設定しましたが、まだステップがスキップされます。手順をスキップする理由を誰かが知っていますか? これが私がやっていることです:

http://technet.microsoft.com/en-us/library/dn249912.aspx

configuration disk
{
node $env:computername
{
    Script disk
    {
        SetScript = {
            ADD-Content -Path "c:\disk.txt" "List Disk"
            $listDisk = (Diskpart /s c:\disk.txt);
            $c = 0;
            $dname = "", "_d_data" , "_e_wmapps", "_f_wmlogs", "_s_swapfile";


            for($i = 0; $i -le ($listDisk.Count) ; $i++)
            {
                if($listDisk[$i] -match "Disk [0-99]")
                {
                    $dn = $dname[$c];

                    if ($c -eq 0)
                    {
                        Add-Content -Path "C:\hrd.txt" "Select Volume 0"
                        Add-Content -Path "C:\hrd.txt" "assign letter=B"
                    }
                    else
                    {
                        Add-Content -Path "C:\hrd.txt" "Select Disk $c"
                        Add-Content -Path "C:\hrd.txt" "CREATE PARTITION PRIMARY"

                    }
                    $c++
                }
            }
            diskpart /s "c:\hrd.txt"
            Remove-Item "c:\disk.txt"
            Remove-Item "c:\hrd.txt"
        }
        GetScript = {return @{Name = "Disk"}}
        TestScript = 
        {
            $obj = Get-WmiObject "Win32_DiskDrive" -Filter "Partitions=0"
            if($obj.count -eq 0)
            {
                [bool]::TrueString
            }
            else 
            {
                [bool]::FalseString
            }
        }
    }
}
}
4

1 に答える 1

0

私の間違いを見つけました。ブール文字列を呼び出していた場所は、予約変数 $true または $false である必要がありました

ここで自分の情報を見つけました: http://powershell.org/wp/2014/03/13/building-desired-state-configuration-custom-resources/

    TestScript = 
    {
        $obj = Get-WmiObject "Win32_DiskDrive" -Filter "Partitions=0"
        if($obj.count -eq 0)
        {
            $true
        }
        else 
        {
            $false
        }
    }
于 2014-05-21T18:45:40.507 に答える