有没有办法从当前系统构建 PowerShell 所需状态配置 (DSC) 配置文件?而不是从头开始构建整个文件?
答案1
不是直接的。您必须单独处理要模块化的每种资源。
例如,如果你想模拟现有的窗口角色和功能,你可以编写类似
Get-WindowsFeature -ComputerName ny-web01 |
? installed |
% {$t = ''} { $t += @"
WindowsFeature "Role-$($_.Name)"
{
Name = '$($_.Name)'
Ensure = 'Present'
"@
if ($_.dependson)
{
$t += @"
DependsOn = '[WindowsFeature]Role-$($_.Name)'
"@
}
$t += @'
}
'@
} {$t}
对于您想要控制的事物,每种资源都是独一无二的。
答案2
如果你有一个网络服务器,你可以使用期望状态生成器为您的网站、应用程序池和 IIS 组件创建配置。
虽然不是全部,但它可以给你一个良好的开端。
答案3
现在有一种东西叫反向差示扫描量热法它允许您基于现有系统创建 DSC 配置文件。它仍然不适用于系统的所有方面,但支持许多常见场景。
答案4
我创建了一个名为 DscBaseline 的 PowerShell 模块,因为我不想从头开始创建这些配置。它根据启动它的系统构建 DSC 配置。可从以下位置获取:
更多信息请访问自述文件.md以下摘录了相关报道。
覆盖范围
DscBaseline 生成以下内容的配置。