首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在调用Add-PSSnapin之前检查是否已加载PowerShell管理单元

如何在调用Add-PSSnapin之前检查是否已加载PowerShell管理单元
EN

Stack Overflow用户
提问于 2009-09-25 15:28:08
回答 5查看 70.4K关注 0票数 90

我有一组PowerShell脚本,它们有时一起运行,有时一次运行一个。每个脚本都需要加载某个管理单元。

现在,每个脚本都在一开始调用Add-PSSnapin XYZ

现在,如果我连续运行多个脚本,则后续脚本将抛出:

无法添加PowerShell管理单元XYZ,因为它已添加警报。请验证管理单元的名称,然后重试。

如何让每个脚本在调用Add-PSSnapin之前检查管理单元是否已加载?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-25 16:09:40

您应该能够这样做,您可以查询管理单元,但告诉PowerShell如果找不到它就不要出错:

代码语言:javascript
复制
if ( (Get-PSSnapin -Name MySnapin -ErrorAction SilentlyContinue) -eq $null )
{
    Add-PsSnapin MySnapin
}
票数 133
EN

Stack Overflow用户

发布于 2009-09-25 16:41:35

斯科特已经给你答案了。您也可以加载它,如果它已经加载,则忽略该错误:

代码语言:javascript
复制
Add-PSSnapin -Name <snapin> -ErrorAction SilentlyContinue
票数 21
EN

Stack Overflow用户

发布于 2014-11-20 18:18:54

令人惊讶的是,没有人提到脚本指定依赖项的本机方法:#REQUIRES -PSSnapin Microsoft.PowerShell...注释/预处理器指令。同样,您可能需要使用-RunAsAdministrator的提升,使用-Modules Module1,Module2的模块,以及特定的运行空间版本。

通过键入Get-Help about_requires阅读更多信息

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1477994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档