首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Start-作业不识别加载的模块

问Start-作业不识别加载的模块
EN

Stack Overflow用户
提问于 2015-10-02 16:08:09
回答 1查看 926关注 0票数 1

我的问题涉及到PowerCLI的具体模块,但我希望它涉及到PS乔布斯更通用的问题。我正在加载作业脚本块中的命令所需的模块,但是这些命令无法识别,就好像模块没有加载一样。

在开始作业之前,我正在加载VMware powerCLI模型,如下所示,但是scriptblock中的代码无法识别模块被加载,因此get-vm命令无法识别。

导入模块VMWare.VimAutomation.core Connect-VIServer -server VIServer01 $NewJob =start- -scriptblock {Get-VM -server VIServer01选择名称,@{N=“群集”;E={Get-群集-VM $},@{N="ESXHost";E={Get-VMHost -VM $}

我熟悉将参数从脚本传递到作业脚本块的需要和方法,但是如何让它识别模块已经加载?此外,如果我从scriptblock中加载模块,则会出现堆栈溢出故障,我猜是由于模块反复循环加载造成的。

EN

回答 1

Stack Overflow用户

发布于 2015-10-05 13:05:30

启动PS作业就像启动PS控制台的新实例一样。它不包含正在创建作业的凭证中的任何变量或加载的模块/管理单元。因此,我必须加载管理单元,并从作业scriptblock中正确地将变量传递到scriptblock)。但是,通过添加-RunAs32,我能够防止PS中的堆栈溢出错误。我不知道为什么这会解决这个错误。

代码语言:javascript
复制
foreach ($VIServer in $VIServers){
    $NewJob = start-job {} -scriptblock { param([string]$VIServer)
          Import-Module VMWare.VimAutomation.core
          Connect-VIServer $VIServer
          Get-VM -server $VIServer | Select Name, @(N="vCenter";E={$VIServer}},`
                                  @{N="Cluster";E={Get-Cluster -VM $_}}, @{N="ESXHost";E={Get-VMHost -VM $_}}} -RunAs32 -ArgumentList $VIserver
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32911359

复制
相关文章

相似问题

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