2

我使用以下方法安装了新版本的 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更改为。此外,在它们被损坏之前,它们和属性被正确填充。BinaryRemove-ItemModuleNameVersion

使用$env:PSModulePath,我能够找到该3.7.0.0文件夹​​并将其删除。

尽管模块不再显示在“Get-DSCResource”检索到的列表中,但我遇到了两个问题:

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

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

4

2 回答 2

2

xPSDesiredStateConfiguration 是我们在图库中提供的实验模块,而 PSDesiredStateConfiguration 是盒装的。为了使用模块中的资源,您需要使用 Import-DscResource 语句导入

Import-DscResource -ModuleName xPSDesiredStateConfiguration

然后您可以使用以下资源:

xService MyService
{
}

请注意,资源名称也不同 - xPSDesiredStateConfiguration 中的资源名称前面有“x”前缀

于 2016-03-25T17:23:55.843 回答
-1

显然github 文档声称资源中有一个Version属性xPackage是不准确的。

我怎么知道?

$res = Get-DSCResource xPackage
$res.Properties

财产项目列表不包括Version财产。因此,DSC 编译器成功地使用了更新的版本,令我惊讶的是,在 3 周内3.8.0.0发布了更新的版本。3.9.0.0上一3.7.0.0版本是在发布前 13 个月3.8.0.0发布的!!!

于 2016-04-05T21:25:32.310 回答