PowerShell
希望する状態の設定
サーチ…
簡単な例 - WindowsFeatureを有効にする
configuration EnableIISFeature
{
node localhost
{
WindowsFeature IIS
{
Ensure = “Present”
Name = “Web-Server”
}
}
}
Powershell(EnableIISFeature)でこの設定を実行すると、localhost.mofファイルが生成されます。これは、マシン上で実行できる「コンパイル済み」構成です。
ローカルホスト上のDSC設定をテストするには、次のコードを実行します。
Start-DscConfiguration -ComputerName localhost -Wait
リモートマシン上でのDSC(mof)の起動
リモートマシン上でDSCを起動することは、ほぼ同じくらい簡単です。すでにPowershellのリモーティング(または有効なWSMAN)をセットアップしていると仮定します。
$remoteComputer = "myserver.somedomain.com"
$cred = (Get-Credential)
Start-DSCConfiguration -ServerName $remoteComputer -Credential $cred -Verbose
Nb:あなたのローカルマシン上のあなたのノードの設定をコンパイルしたとします(設定を開始する前にファイルmyserver.somedomain.com.mofが存在すると仮定します)
psd1(データファイル)をローカル変数にインポートする
場合によっては、Powershellデータファイルをテストして、ノードとサーバーを反復処理すると便利です。
Powershell 5(WMF5)は、Import-PowerShellDataFileと呼ばれるこの機能を追加しました。
例:
$data = Import-PowerShellDataFile -path .\MydataFile.psd1
$data.AllNodes
利用可能なDSCリソースのリスト
オーサリングノードで利用可能なDSCリソースを一覧表示するには:
Get-DscResource
これにより、オーサリングノードにインストールされているすべてのモジュール(PSModulePathにあるモジュール)のすべてのリソースが一覧表示されます。
WMF 5のオンラインソース(PSGallery ++)にある利用可能なDSCリソースをすべて一覧表示するには:
Find-DSCResource
DSCで使用するためのリソースのインポート
構成内のリソースを使用するには、そのリソースを明示的にインポートする必要があります。あなたのコンピュータにインストールするだけで、あなたは暗黙のうちにリソースを使用することはできません。
Import-DscResourceを使用してリソースをインポートします。
PSDesiredStateConfigurationリソースとFileリソースをインポートする方法の例
Configuration InstallPreReqs
{
param(); # params to DSC goes here.
Import-DscResource PSDesiredStateConfiguration
File CheckForTmpFolder {
Type = 'Directory'
DestinationPath = 'C:\Tmp'
Ensure = "Present"
}
}
注 :DSCリソースを動作させるには、構成を実行するときにターゲットマシンにモジュールをインストールする必要があります。それらをインストールしていないと、設定は失敗します。