我有一个用户运行Powershell脚本,由Windows 2012RC2服务器上的Windows任务计划程序触发。 脚本使用特定的pipe理单元,在脚本开始时添加。
脚本失败,当我手动尝试通过在服务器上运行Powershell来查找问题的根本原因时,我发现用户无法添加pipe理单元:
asnp <snap-in> + asnp <snap-in> + ~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (<snap-in>:String) [Add-PSSnapin], PSArgumentException + FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
如果我在pipe理员的Powershell中运行相同的命令,它工作正常。
我如何允许用户在服务器上的PowerShell中添加pipe理单元?
看起来pipe理单元对于用户是不可用的,或者是因为它没有正确安装,或者是因为pipe理单元被放置在仅限于pipe理员的位置(或仅限于pipe理员)。
看看这里作为一个起点,然后尝试使用get-pssnapin -registered来检查pipe理单元是否确实已注册并可用; 尝试以pipe理员身份和故障用户身份运行命令。
另请参阅有关注册pipe理单元的信息。