解决了

未能从POSH脚本执行set -ntnxvmpowerstate-访问被拒绝

  • 2019年3月7日
  • 1回复
  • 1864年的观点

徽章 +1
我写了一个posh脚本,可以执行以下操作。
  1. 对棱镜中央V3 API进行身份验证
  2. 调用 /类别 /查询API获取vM UUID的列表,该列表是POR类别的成员。
  3. 将此uuid的列表写入字符串
  4. 使用Nutanix PowerShell CMDLET连接到NTNX群集。
  5. 通过上面的字符串迭代并执行对UUID的set-ntnxvmpowerstate。
步骤1-4按预期工作。步骤5似乎像应该在列表中迭代迭代,但是当我放入要执行的set-ntnxvmpowstate命令时,它会引发访问被拒绝的错误。

脚本给出错误后,PowerShell连接看起来像是锁定帐户,您无法执行任何命令。

如果我要评论foreach循环,并且只需执行普通的posh cmdlet(在连接ntnxcluster之后),例如get-ntnxclusterinfo,则可以正常工作。

我已经尝试了我的帐户(具有Prism Admin权利)和Prism Central Admin Account没有运气。

所以2个问题:
  1. 有什么想法,该代码问题是什么?
  2. 执行set-ntnx*命令时,入门许可证会有任何问题吗?
有关脚本代码,请参见下面的链接:
https://github.com/leepryor/nutanix_powershell/blob/master/shutdown-categorized-vms.ps1
图标

最好的答案Devwangler2019年3月12日,01:54

\r\n
\r\nYou have to invoke the api via Prism.
\r\n
\r\nWhen you run the PS cmdlets, these need to be run against the cluster itself. If you're using my code above, i've already made the changes required for this.","className":"post__content__best_answer"}">
查看原件

该主题已关闭以供评论

1回复

徽章 +1
我解决了这个问题。

您必须通过棱镜调用API。

当您运行PS CMDLET时,需要与群集本身进行运行。如果您在上面使用我的代码,我已经对此进行了更改。
Learn more about our cookies.<\/a>","cookiepolicy.button":"Accept cookies","cookiepolicy.button.deny":"Deny all","cookiepolicy.link":"Cookie settings","cookiepolicy.modal.title":"Cookie settings","cookiepolicy.modal.content":"We use 3 different kinds of cookies. You can choose which cookies you want to accept. We need basic cookies to make this site work, therefore these are the minimum you can select. Learn more about our cookies.<\/a>","cookiepolicy.modal.level1":"Basic
Functional","cookiepolicy.modal.level2":"Normal
Functional + analytics","cookiepolicy.modal.level3":"Complete
Functional + analytics + social media + embedded videos"}}}">
Baidu