powershell dsc版本3.8.0.0安装

时间:2016-03-25 14:27:57

标签: powershell dsc powershell-v5.0

我使用:

安装了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。此外,他们的ModuleNameVersion属性在损坏之前已正确填充。

使用$env:PSModulePath,我找到了3.7.0.0文件夹并删除了它。

虽然模块不再显示在'Get-DSCResource'检索的列表中,但我有两个问题:

1)如何让DSC使用新的3.8.0.0资源及其相应的参数?

注意:我尝试Find-Module -Name xpsd* | Install-Module -Force但没有任何改善。

2 个答案:

答案 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个月发布的。