首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell版本2中的DPM命令

Powershell版本2中的DPM命令
EN

Stack Overflow用户
提问于 2015-07-23 05:13:58
回答 1查看 1.5K关注 0票数 3

我正在运行一个PowerShell脚本,它需要连接到DPM。

当我从运行Connect-DPMServer <DPM Server Name> cmdlet时,命令成功,并且能够连接到服务器。

但是,当我将相同的命令封装在脚本中并通过DPM命令行管理程序调用脚本时,会发生以下错误:

代码语言:javascript
复制
The term 'Connect-DPMServer' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
+ CategoryInfo          : ObjectNotFound: (Connect-DPMServer:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

其他DPM (如Get-DPMProtectionGroup )也是如此。

我正在Windows 2008 R2上运行Powershell 2.0版本。

这种奇怪行为的原因是什么,我怎样才能避免这种情况呢?

编辑

我做了一些观察。我的脚本有两个部分:一个包装脚本和一个助手脚本,包装脚本作为一个独立的任务调用。

所有DPM命令都在包装器脚本中标识,但在作为作业运行时,助手脚本中没有标识它们。

对此有何解释和解决的建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-24 05:38:53

我想出了解决办法,这就是:

正在发生的事情包装器脚本在DPM PowerShell中运行,然后作为单独的作业或线程调用助手脚本。此助手脚本运行的环境是windows本机Powershell,而不是DPM。因此,DPM命令在那里没有标识。

解决方案-- DPM特定模块需要在调用助手脚本时立即导入。这些步骤如下:

  1. 右键单击DPM命令行管理程序图标并查看属性。
  2. 选择目标值。对我来说,它看起来像这个C:\Windows\system32\windowspowershell\v1.0\powershell.exe -noexit -File "D:\DPM\DPM\bin\dpmcliinitscript.ps1"
  3. 参数-File (即"D:\DPM\DPM\bin\dpmcliinitscript.ps1" )的值是导入到Windows时将其转换为的文件。这意味着,它使用DPM命令加载shell。
  4. 通过点源将此文件包含在帮助脚本中。这意味着,助手脚本的第一行应该如下所示:."D:\DPM\DPM\bin\dpmcliinitscript.ps1" 这将帮助被调用的shell识别特定于DPM的命令。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31578658

复制
相关文章

相似问题

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