博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PowerShell实现批量收集SCVMM中虚拟机IP
阅读量:7128 次
发布时间:2019-06-28

本文共 1031 字,大约阅读时间需要 3 分钟。

首先,这个脚本有个功能限制:只能针对已安装代理的Windows虚拟机

先看看以前只会写CMD阶段做的脚本吧。 这个阶段写的脚本思路都充满了人文关怀

Invoke-Command -ComputerName hahv1,hahv2,hahv3 -Command{Get-VMNetworkAdapter -all |Select-Object VMname,IPAddresses | Format-Table > d:$env:COMPUTERNAME.csv} #导出IP地址#这下面三个copy是啥意思呢?拷贝不同主机上的文件到运行脚本的D盘copy \hahv1d$hahv1.csv d:copy \hahv2d$hahv2.csv d:copy \hahv3d$hahv3.csv d:#PowerShell中运行cmd命令不太方便,因为cmd命令有一些和PowerShell差不多,但是功能不一样,所以用ech写入一条命令,就是将本地的csv文件组合一下,附加到一个叫做cp.cmd的文件中echo “copy *.csv hv.csv /y” >d:/cp.cmdd:#运行这个拷贝,结束.cp.cmd

↑以上脚本别用了

来看看新的写法怎么写。脚本需要在SCVMM的PowerShell中使用,如果是静默运行,记得要先加载模块

echo ----本脚本展示当前SCVMM中所有Hyper-V主机的虚拟机IP地址与计算机名称的对应关系echo ----IP地址来源于Hyper-V主机,所以现阶段只能针对已安装代理的Windows虚拟机。echo ----可以配合邮件发送功能,定时发送echo "----Powerd By 九叔"$cc = Get-VMHost|select computername$cc|foreach {echo 当前列表的虚拟机的宿主机为:($_.computername)Invoke-Command -ComputerName $_.computername  -Command{Get-VMNetworkAdapter -all | Select-Object VMname,IPAddresses|ft}}

以上代码7行,4行都是说明,所以你这次代码效率真的是提高了。不过因为这说白了是到目标计算机上执行的,所以运行效率和以前一样,最后我们看看效果

【关机的看不了,Linux的看不了,没装agent的看不了】

转载地址:http://zdhel.baihongyu.com/

你可能感兴趣的文章
解决ERROR: % Invalid input detected at '^' marker.
查看>>
webpack 2 打包实战
查看>>
小程序环境搭建与开发工具的简单介绍
查看>>
我的友情链接
查看>>
red hat5安装mysql5.5.25
查看>>
深入理解C++的动态绑定和静态绑定
查看>>
cisco 7200 simulator
查看>>
JAVA WEB搭建 SpringMVC+Spring+hibernate 框架
查看>>
HibernateTemplate中常用的方法
查看>>
clang: error: unknown argument: 'websockets'解决方法
查看>>
Vue.js 特有的一种ajax——axios
查看>>
我的友情链接
查看>>
dos2unix命令 - 将DOS格式文本文件转换成UNIX格式
查看>>
灰度发布
查看>>
我的友情链接
查看>>
PHP中curl错误号对照表
查看>>
我的学习笔记之js
查看>>
【转】亂數產生器:Random 與 RNGCryptoServiceProvider
查看>>
iptables基本概念深入理解
查看>>
smarty前端常用标签
查看>>