はい。LinuxとWindowsの両方で、次のことができる目的の状態構成ファイルを作成できます。
- サーバーの役割と機能を有効または無効にする
- レジストリ設定を管理する
- ファイルとディレクトリを管理する
- プロセスとサービスの開始、停止、管理
- グループとユーザーアカウントを管理する
- 新しいソフトウェアを導入する
- 環境変数を管理する
- Windows PowerShellスクリプトを実行する
- 目的の状態から外れた構成を修正する
- 特定のノードの実際の構成状態を検出する
IISを有効にし、Webサイトファイルが正しいフォルダーにあることを確認するサンプル構成ファイルを次に示します。これらのいずれかがインストールまたは欠落していない場合は、必要に応じてそれらをインストールまたはコピーします($ websitefilepathはウェブサイトファイルのソースとして事前定義済み):
Configuration MyWebConfig
{
# A Configuration block can have zero or more Node blocks
Node "Myservername"
{
# Next, specify one or more resource blocks
# WindowsFeature is one of the built-in resources you can use in a Node block
# This example ensures the Web Server (IIS) role is installed
WindowsFeature MyRoleExample
{
Ensure = "Present" # To uninstall the role, set Ensure to "Absent"
Name = "Web-Server"
}
# File is a built-in resource you can use to manage files and directories
# This example ensures files from the source directory are present in the destination directory
File MyFileExample
{
Ensure = "Present" # You can also set Ensure to "Absent"
Type = "Directory“ # Default is “File”
Recurse = $true
# This is a path that has web files
SourcePath = $WebsiteFilePath
# The path where we want to ensure the web files are present
DestinationPath = "C:\inetpub\wwwroot"
# This ensures that MyRoleExample completes successfully before this block runs
DependsOn = "[WindowsFeature]MyRoleExample"
}
}
}
詳細については、「Windows PowerShellの望ましい状態の構成の概要」および「Windows PowerShellの望ましい状態の構成の概要」を参照してください。
では、なぜ単にinstall-windowsfeatureコマンドレットの代わりにこれを使用するのでしょうか。スクリプトの代わりにDSCを使用する本当の力は、(ターゲットマシンに対して)プッシュまたはプルされる構成を保存できる場所を定義できることです。プッシュおよびプル構成モードを参照してください。構成がマシンが物理か仮想かは関係ありませんが、DSCをプルするためにサーバーを起動するには、少なくとも2012年かかると思います。