【问题标题】:Get-VICommand works in PowerCLI, but not recognized in Windows PowerShell ISEGet-VICommand 在 PowerCLI 中有效,但在 Windows PowerShell ISE 中无法识别
【发布时间】:2016-12-29 04:22:07
【问题描述】:

我正在使用 VMware vSphere PowerCLI,为了运行 Get-VICommand(以及许多其他 PowerCLI 命令),我必须以管理员权限启动该程序。但是,如果我在 PowerCLI 中键入 ise 以启动 Windows PowerShell ISE,然后尝试从 ISE 运行 Get-VICommand,则该命令将不起作用。我曾尝试以管理员身份手动启动 Windows PowerShell ISE,但结果相同。

有没有人遇到过这个问题并找到了解决方法?目前我可以从 PowerCLI 运行我的所有命令,但我更希望能够使用 ISE,尤其是在编写跨越数十行的长脚本时。

如果有帮助,我正在 Windows 7 上运行。

【问题讨论】:

    标签: windows powershell vmware powercli


    【解决方案1】:

    您需要在 ISE 中加载 PowerCLI 模块。这取决于您正在运行的 PowerCLI 版本以及如何执行此操作。首先尝试运行Get-Module -ListAvailableGet-Module -ListAvailable VM* 如果您可以看到VMware 模块,您应该可以执行import-module

    否则您需要设置模块,

    这可以通过几种方式完成,似乎运行这条线很受欢迎:

    . "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1"

    这称为点源,它将在执行时将. 后面的脚本加载到您当前的脚本中。

    添加模块文件夹的路径可能也是一个好主意:

    $path = [Environment]::GetEnvironmentVariable("PSModulePath")
    $path += ";C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Modules\"
    [Environment]::SetEnvironmentVariable("PSModulePath",$path)
    

    【讨论】:

    • 如果他们使用的是旧的基于 snapin 的 powerCli 版本(仍然很常见),他们可能需要使用 add-psssnapin 而不是 import-module
    猜你喜欢
    • 2018-09-08
    • 1970-01-01
    • 2020-05-03
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 2020-05-17
    相关资源
    最近更新 更多