我使用:
安装了ps DSC 3.8.0.0的新版本Find-Module -Name xpsd* | Install-Module
我确信在我写这个问题时,我已经重启了我的电脑至少一次。 问题是旧版本(3.7.0.0)DSC资源智能感知是不断出现的。实际上它就像从未安装过新模块一样。
我尝试使用以下方法删除旧的dsc资源:
Get-DSCResource | Where-Object{$_.Version -eq '3.7.0.0'} | Remove-Item
导致模块未被删除但已损坏,因为它们被列为:
ImplementedAs Name ModuleName Version Properties
------------- ---- ---------- ------- ----------
Binary File {DestinationPath, Attributes, Checksum, Content...
最初,他们的ImplementedAs
属性的值为PowerShell
,在Binary
命令后更改为Remove-Item
。此外,他们的ModuleName
和Version
属性在损坏之前已正确填充。
使用$env:PSModulePath
,我找到了3.7.0.0
文件夹并删除了它。
虽然模块不再显示在'Get-DSCResource'检索的列表中,但我有两个问题:
1)如何让DSC使用新的3.8.0.0
资源及其相应的参数?
注意:我尝试Find-Module -Name xpsd* | Install-Module -Force
但没有任何改善。
答案 0 :(得分:2)
xPSDesiredStateConfiguration是我们在库中提供的实验模块,而PSDesiredStateConfiguration是框中提供的内容。要使用模块中的资源,需要使用Import-DscResource语句
导入Import-DscResource -ModuleName xPSDesiredStateConfiguration
然后您可以使用以下资源:
xService MyService
{
}
请注意,资源名称也不同 - xPSDesiredStateConfiguration中的资源名称前面带有“x”前缀
答案 1 :(得分:-1)
显然,github documentation声称Version
资源中存在xPackage
属性并不准确。
我怎么知道?
$res = Get-DSCResource xPackage
$res.Properties
属性项列表不包含Version
属性。因此,DSC编译器成功使用了较新版本3.8.0.0
,令我惊讶的是,在3周内发布了更新版3.9.0.0
。之前的3.7.0.0
版本是在3.8.0.0
发布之前13个月发布的。