我正在遵循MSDN 上最基本的示例,但无法使其正常工作。我的配置定义如下:
Configuration MyWebConfig
{
Param($ComputerName)
Node $ComputerName {
WindowsFeature MyRoleExample
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
我正在尝试使用C:\Scripts> .\IisWithCompressionConfig.ps1 -ComputerName "localhost" -Outputpath C:\Scripts\localhost
(以及其他几个命令行变体)生成 MOF。我没有得到任何文件输出,也没有报告错误(退出状态码也是 0)。我尝试了一个没有$ComputerName
变量的版本(而是硬编码的“localhost”),仍然没有。是的,我在提升的提示符下运行它。
我已经确定我正在运行 PowerShell 4.0:
C:\Scripts> $PSVersionTable
Name Value
---- -----
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.34003
BuildVersion 6.3.9600.16394
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2
任何想法我错过了什么?
使用 DSC,我将配置定义点源到当前会话中,然后调用它。
配置与函数非常相似,即您希望调用
MyWebConfig
(config) 而不是IisWithCompressionConfig
(file)。事实上,已定义的 DSC 将在Function:
PSDrive 中。尝试在点源 PS1 之前和之后运行以下命令。之前,您应该看不到任何结果,之后,您应该MyWebConfig
在Function:
PSDrive 中看到。在提供的 TechNet 示例中,他们使用的是 ISE。在第 4 步中,他们在
MyWebConfig
当前 PS 会话中定义(而不是采购)配置权。这在功能上等同于点源 PS1 文件。在第 6 步之后,他们调用MyWebConfig
了生成 MOF。