当前位置: 首页 > news >正文

PowerShell获取特定“描述”的虚拟机IP地址

首先我们来说说需求:某个用户创建了一些虚拟机,我们通过Get-SCIPAddress是可以得到特定名称的虚拟机,但是,如果我们希望从某个描述来批量获得虚拟机的IP,这个时候通过“管道”和“直接的命令”是无法获取的。

这个时候,就需要用到循环。

比如下面这个例子,虚拟机的get-vm所获得的描述部分,最下面这些“xxxx新机器到位后要求16G这些字符”,而使用Get-SCIPAddress的描述部分则是get-vm的名称部分。所以我们这里需要用到一个相同的属性,那就是get-vm的名称部分,和Get-SCIPAddress的描述部分。通过两个命令连查,得到结果。


wKioL1V-eMSx95GjAAM5RkfMuEQ532.jpg


废话不多说,直接上脚本

Import-Module virtualmachinemanager
$vvm =Get-SCIPAddress |where {$_.Description -like "边塞之城*"}|select name,Description
$vcb = get-vm|where {$_.Description -like "*李寻欢*"}|select Name
foreach ( $cb in $vvm)
{   
    foreach ($ccb in $vcb)
    {
    if ($cb.description -eq $ccb.name)
        {echo $cb }
     }
      }

实际上面的脚本做的工作稍显复杂,它首先使用Get-SCIPAddress where选择了一下,描述部分有类似边塞之城的属性,接下来在get-vm的描述部分,搜索一下具有名称李寻欢的部分


接下来进入一个循环,查找两个命令中描述和名称相同的部分,然后打印出来。通过两个嵌套循环实现。


事实上,以上的foreach语句可以用更简单的语句来实现


 foreach ($cb in $vvm)
 { if ($_.cb.description -eq $_.ccb.name)
        {echo $cb }}

这里其实就是通过了$_.函数的方法缩减了输入的字符,两种方法前面的更便于阅读,第二种在熟练的前提下,也更简洁。



相关文章:

  • HDU-6060 RXD and dividing - 2017 Multi-University Training Contest - Team 3(思维+最小斯坦纳树)
  • error while loading shared libraries错误处理
  • POJ-3270 Cow Sorting(贪心+置换)
  • php对gzip文件或者字符串解压实例参考
  • POJ-1637 Sightseeing tour(通过网络流判定混合图的欧拉回路)
  • 哈密顿图和欧拉图知识小结
  • POJ-2689 Prime Distance(区间素数筛--经典题)
  • c语言移位操作
  • HDU-6069 Counting Divisors - 2017 Multi-University Training Contest - Team 4(分解质因子区间筛法)
  • HDU-6073 Matching In Multiplication - 2017 Multi-University Training Contest - Team 4(拓扑+连通块处理)
  • 我的Java开发学习之旅------Java经典排序算法之插入排序
  • POJ-3352 Road Construction(边双连通分量+缩点)
  • 445port入侵详细解释
  • UVALive-5013 Similarity(二分图最大权匹配)
  • Cisco ASA-ASA 8.2-L2L ***
  • Android 架构优化~MVP 架构改造
  • CODING 缺陷管理功能正式开始公测
  • echarts花样作死的坑
  • es的写入过程
  • HTTP中GET与POST的区别 99%的错误认识
  • java中的hashCode
  • JWT究竟是什么呢?
  • Redis学习笔记 - pipline(流水线、管道)
  • Vue 2.3、2.4 知识点小结
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • XForms - 更强大的Form
  • 阿里云前端周刊 - 第 26 期
  • 第十八天-企业应用架构模式-基本模式
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 面试遇到的一些题
  • 三栏布局总结
  • 实战|智能家居行业移动应用性能分析
  • 微信小程序:实现悬浮返回和分享按钮
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • PostgreSQL之连接数修改
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​批处理文件中的errorlevel用法
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #laravel 通过手动安装依赖PHPExcel#
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (70min)字节暑假实习二面(已挂)
  • (C语言)字符分类函数
  • (简单) HDU 2612 Find a way,BFS。
  • (九十四)函数和二维数组
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三)uboot源码分析
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • ****Linux下Mysql的安装和配置
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net和php怎么连接,php和apache之间如何连接