我在存档DSC模块(MSFT_ArchiveResource.psm1)中发现错误。复制代码,在ISE中对其进行调试并弄清楚需要修复的两行之后,我想对真实文件进行更改,并使用Puppet和msutter/dsc模块进行测试,该模块利用了存档资源。

我发现我认为该文件在机器上的位置:

C:\Windows\System32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\DSCResources\MSFT_ArchiveResource\MSFT_ArchiveResource.psm1

但是,当我运行Puppet时,很明显,没有执行更改过的代码。 (如果在文件顶部设置$ Debug = $ true,则看不到多余的输出。)是否有一些Windows缓存保存了此文件,必须清除?它是从ZIP或其他存档中加载的吗?

我怀疑Puppet与该问题有关,但请在问题响起时提及它。 (我只更改了代理上的代码。)

更新:

当我在Powershell中运行以下行时,找不到包含“dsccore”的预期名称的任何进程:
Get-WmiObject msft_providers | select -ExpandProperty provider

结果:
RegistryEventProvider
PolicyAgentInstanceProvider
CIMWin32
Msft_ProviderSubSystem
SCM Event Provider
Win32_WIN32_TERMINALSERVICE_Prov
WmiPerfClass
WmiPerfClass
WmiPerfInst
WmiPerfInst

最佳答案

Troubleshooting DSC



###
### find the process that is hosting the DSC engine
###
$dscProcessID = Get-WmiObject msft_providers |
Where-Object {$_.provider -like 'dsccore'} |
Select-Object -ExpandProperty HostProcessIdentifier

###
### Stop the process
###
Get-Process -Id $dscProcessID | Stop-Process

关于powershell - Powershell DSC在哪里找到模块代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29802470/

10-13 07:52