【问题标题】:Powershell script to Find all VMs without a security tag and group用于查找所有没有安全标记和组的虚拟机的 Powershell 脚本
【发布时间】:2020-02-12 22:29:03
【问题描述】:

我安装了 powercli 模块,无论我尝试什么都无法让 powernsx 工作,所以我仅限于直接 API 调用 NSX。

目标是报告所有未应用安全标签的虚拟机。

我知道我可以使用 Get-VM 查看所有 VM,并且我可以获取所有调用 https://10.x.x.x/api/2.0/services/securitytags/tag 的安全标签

该安全标记调用将仅返回它应用到的虚拟机数量,而不是名称。我需要名称,以便与 Get-VM 的输出进行比较。

有人知道如何查看所有带有 NSX 安全标签的虚拟机的名称吗?问题是系统管理员启动新服务器并且不标记它们。需要查看哪些未标记。

【问题讨论】:

    标签: powershell vmware powercli


    【解决方案1】:

    看看这个命令是否能帮你找到你要找的东西,(reference)

    Get-VM | Get-NsxSecuritytagassignment | select-object @{Name="SecurityTag"; expression = {$_.securitytag.name}}, VirtualMachine
    

    【讨论】:

    • 不是来自 powernsx 模块的 Get-NsxSecurityTagassignment 吗?
    • 我无法获得使用 powernsx 模块的基本连接。我有另一篇关于那个请求帮助的帖子。我可以通过本机 API 调用访问。
    • 好吧.. 如果您不能使用能够为您提供灵活性和性能的模块,那么这对您来说很快就会变得棘手。如果您无权访问 nsx 模块,我不知道您希望如何获得虚拟机的名称。安全标记分配特定于 NSX Manager,并且不存在于它之外。 vCenter 本身对此一无所知,除非您拥有属于该标签一部分的 VM 名称列表(以某种方式),否则无法确定它。
    • 我可以通过 API 调用访问 NSX。我还可以使用 powercli 模块访问 Vcenter。我可以轻松获得 Vcenter 中的所有虚拟机……但获得没有标签的虚拟机是我最大的问题。我的想法是,运行 2 个命令(get-VM 和任何显示没有标签的 VM 的 NSX 命令)。比较输出,并仅显示不同的 VM 名称。
    猜你喜欢
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    • 2021-05-26
    • 2019-08-30
    • 2018-04-21
    • 2015-09-02
    相关资源
    最近更新 更多