Powershell并不总是在导入时运行ScriptsToProcess

时间:2017-11-26 17:56:48

标签: powershell

使用sub_ids[xxx]安装Install-Module后,我有一周的使用时间,因为我在一天早上来到它之前没有正确加载powershell-yaml

现在,如果我在手动运行YamlDotNet之前尝试使用ConvertFrom-Yaml,我会收到以下错误:

Import-Module powershell-yaml

以前(在大多数系统上)这很好用。如果我在调用函数之前运行手册PS C:\Users\user> "---" | ConvertFrom-Yaml New-Object : Cannot find type [YamlDotNet.RepresentationModel.YamlStream]: verify that the assembly containing this type is loaded. At C:\Program Files\WindowsPowerShell\Modules\powershell-yaml\0.3.1\powershell-yaml.psm1:24 char:23 + ... $yamlStream = New-Object "YamlDotNet.RepresentationModel.YamlStream" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidType: (:) [New-Object], PSArgumentException + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand You cannot call a method on a null-valued expression. At C:\Program Files\WindowsPowerShell\Modules\powershell-yaml\0.3.1\powershell-yaml.psm1:25 char:9 + $yamlStream.Load([System.IO.TextReader] $stringReader) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull ,它可以正常工作:

Import-Module

我和同事的机器几乎同时开始这种行为。今天早上我的系统再次开始正常工作,但他仍然表现出这种行为。我们无法在其他机器上复制它。

我已将其缩小为PS C:\Users\user> Import-Module powershell-yaml PS C:\Users\user> "---" | ConvertFrom-Yaml PS C:\Users\user> 清单Powershell-Yaml中引用的脚本在自动加载期间未被调用,但在手动ScriptsToProcess期间运行正常。在工作机器上,Import-Module中的脚本在两种情况下都会运行。作为一种解决方法,我们可以通过在我们的配置文件中放置ScriptsToProcess来强制加载模块,理想情况下我们希望找到根本原因。

Import-Module无效,因为首先调用Import-Module -Verbose始终有效。

0 个答案:

没有答案