在配置文件中条件加载snapins

时间:2013-04-08 20:50:46

标签: powershell command conditional loading

我们有一个使用PowerShell的内部应用程序。在我的个人资料(Microsoft.PowerShell_profile.ps1)中,我添加了对我们创建的各种管理单元的引用:

#
# Profile for Joe Blow
#
Add-PSSnapIn CompanySnapin
Add-PSSnapin PowerShellTestTools
Add-PSSnapin SqlServerCmdletSnaps -ErrorAction SilentlyContinue

我遇到的问题是,当我启动此内部应用程序时,上面的代码行会抛出错误。

我的问题是,有没有办法(在我的个人资料脚本中)我可以测试世界卫生组织或者是什么尝试打开个人资料并做相应的事情?

示例可能是:

if (!internalApplication)
{
    Add-PSSnapIn CompanySnapin
    Add-PSSnapin PowerShellTestTools
    Add-PSSnapin SqlServerCmdletSnaps -ErrorAction SilentlyContinue
}

所以如果我启动PowerShell命令行实用程序,我会获得snapins。否则,什么都没有"添加"。

谢谢!

1 个答案:

答案 0 :(得分:0)

这取决于自定义app / host实现,真的。这也意味着至少有几种方法可以给猫皮肤。

您可以先检查$Host.Name是否有所不同。 下一步 - 检查某些属性是否存在/设置(如$Host.UI.RawUI.BackgroundColor)。

一旦你知道了差异 - 你只需要在if {} else {}中放置导致问题的任何代码,你应该好好去。