如何使用PowerShell在Hyper-V上获取Windows 2008 R2 VM的IP地址
我已经创建了一个自动构建脚本来在Hyper-V 2016上构建新的VM.我有时需要一个2008 R2 VM,并且我获取IP地址以连接到我的2012 R2 / 2016 VM的方式是使用一些Power
Shell,如:
get-vm -Name $VMName | Get-VMNetworkAdapter | Select-Object -ExpandProperty IpAddresses 适用于2012/2016,但返回带有2008 R2 VM的空数组.有关如何使用Powershell从Hyper-V获取IP地址的任何想法?该脚本从Windows 10工作站运行. 编辑 我尝试了get-vm -name $VMName | Get-WmiObject -Class Win32_NetworkAdapterConfiguration作为测试,在经过大量的适配器输出后得到了这个: Get-WmiObject:输入对象不能绑定到命令的任何参数,因为该命令不接受管道输入或输入及其属性与接受管道输入的任何参数都不匹配. 解 这就是我最终做的事情: $VMName = <the name of my vm> Invoke-Command -Session $VMHostSession -ScriptBlock { $Vm = Get-WmiObject -Namespace rootvirtualizationv2 -Query "Select * From Msvm_ComputerSystem Where ElementName='$using:VMName'"; $vm.GetRelated("Msvm_KvpExchangeComponent").GuestIntrinsicExchangeItems | % { ` $GuestExchangeItemXml = ([XML]$_).SelectSingleNode("/INSTANCE/PROPERTY[@NAME='Name']/VALUE[child::text()='NetworkAddressIPv4']"); if ($GuestExchangeItemXml -ne $null) { $GuestExchangeItemXml.SelectSingleNode("/INSTANCE/PROPERTY[@NAME='Data']/VALUE/child::text()").Value; } } }
您可以使用WMI.也许2008R2没有你想要的领域.
get-vm -Name $VMName | Get-WmiObject -Class Win32_NetworkAdapterConfiguration -computername $_ | select-object IPAddress 如果你有倍数,你可能还需要对你选择的网卡进行一些过滤. ****编辑**** get-vm -Name $VMName | foreach-object { Get-WmiObject -Class Win32_NetworkAdapterConfiguration -computername $_.name } | select-object IPAddress 希望这可以帮助. 蒂姆,谢谢. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何在可接受的时间内在Windows下运行所有??正在运行的Pyth
- 备份高管Windows计算机的最佳方法
- Windows Server 2008 – 文件权限和管理员
- wpf – xaml Scrollviewer – 禁用整个窗口的过度滚动/橡皮
- 如何在没有Window-object的firefox附加组件/扩展中插入jQue
- windows – 使用记事本从cmd dir输出打开多个文件
- qt – 在Windows上使用MinGW编译Poco
- Windows – 由于MSVCR110.dll,MS Visual Studio 2012终端无
- PowerShell预定作业未在启动时运行
- windows – 与WMF 4.0有任何已知的不兼容性吗?
- Windows – VirtualBox重新启动后从Vagrant重新连
- windows – “Deny Logon Locally”效果
- windows-server-2003 – 允许来自单个IP地址的流
- Windows – Qt Phonon:在某些计算机上无法播放
- Win10在安装H3C模拟器时遇到的问题及解决方式
- .net – 32位和64位MS Windows上Int64和Int32之间
- Windows:如何在不通过网络的情况下在远程服务器
- windows-server-2008 – FTP挂起:150打开ASCII模
- windows – PHP 7.0.5:使用未定义的常量FTP_BIN
- winforms – 在Windows窗体上使用组合框而不是面