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

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

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

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

废话不多说,直接上脚本

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 }}

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

时间: 2024-10-05 23:25:37

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

KVM查找虚拟机IP地址

[[email protected] /]$virsh list --all Id 名称 状态 ---------------------------------------------------- 3 geoip running 4 tomcat running 5 jenkins running 18 gitlab running 19 win7 running 如果我们想知道gitlab这个虚拟机的IP地址,那么是无法直接看到的.这里就需要一个小方法做排查,很简单的,就两步骤:1,编辑虚

多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.javapeixun.com.cn / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.

获取http请求的真实IP地址

/** * 获取http请求的真实IP地址 * @param request * @return */ // cjianquan 2016/8/2 public static String getIPAddr(HttpServletRequest request){ if (request == null) return null; String ip = request.getHeader("X-Forwarded-For"); if (ip == null || ip.length

获取当前登录用户的IP地址代码

1 *&---------------------------------------------------------------------* 2 *& Report YDEMO_RICK 3 *& 4 *&---------------------------------------------------------------------* 5 *& 6 *& 7 *&-----------------------------------

Servlet中获取客服端真实Ip地址

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP. 在实习公司看到的一个方法: [java] view plaincopyprint? /** * 获取Ip地址 * 

js获取本机的网络IP地址

JavaScript是一门脚本语言,是不能操作文件,读取本地信息的,所以想要获取IP,还需要借助后端技术.方法如下: //获取本机的网络ip地址 function jsonpCallback(res) { var ip = res.Ip; // ip地址 var aa = res.Isp.split("市"); var isp = aa[0]; // ip省份 alert(ip); } function getIntnetIP() { var JSONP=document.create

Java获取请求客户端的真实IP地址

Java获取请求客户端的真实IP地址 Java,获取客户端的IP地址的方法: request.getRemoteAddr() 这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了; 如果使用了反向代理软件,将http://192.168.1.110:2046 的URL反向代理为 http://www.javapeixun.com.cn的URL时, 用 request.getRemoteAddr() 方法获取的IP地址是:127.0

java 获取的是本地的IP地址

1 public static void main(String[] args) { 2 try { 3 InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121 4 String hostAddress = address.getHostAddress());//192.168.0.121 5 InetAddress address1 = InetAddress.

如何获取 docker 容器(container)的 ip 地址(转)

1. 进入容器内部后 cat /etc/hosts 会显示自己以及(– link)软连接的容器IP 2.使用命令 docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID> 或 docker inspect <container id> 或 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' c