我需要得到几台电脑的MAC地址以及那里的IP。
我在PowerShell上遇到了这个命令来获取MAC地址
Get-NetAdapter -Name "*Ethernet*","*Wi-Fi*"| Select Name,MacAddress
我不得不使用不同的Cmdlet来获取IP
Get-NetIPAddress -InterfaceAlias "*Ethernet*","*Wi-Fi*" -AddressFamily IPv4 | Select InterfaceAlias, IPAddress
当我试图在example.ps1
等PowerShell文件中运行它们时,问题出现了。
Get-NetIPAddress -InterfaceAlias "*Ethernet*","*Wi-Fi*" -AddressFamily IPv4 | Select InterfaceAlias, IPAddress;
Get-NetAdapter -Name "*Ethernet*","*Wi-Fi*"| Select Name,MacAddress;
pause;
结果如下所示,并不是两个cmdlet都运行。总是第一个运行,而且总是在暂停之后运行。这让我抓狂
Press Enter to continue...:
InterfaceAlias IPAddress
-------------- ---------
Ethernet 255.255.255.255
Wi-Fi 255.255.255.255
提问
如何使这两个cmdlet在PowerShell脚本中运行并查看输出?我希望它们按顺序执行并在最后暂停
如果我只添加powershell -Command "PS_COMMAND_HERE"
,就可以在bat文件中运行
3条答案
按热度按时间umuewwlo1#
您并不需要***Out-Host***,因为这是PowerShell的默认设置。您也可以在一行中完成此操作。
一起来
或者是文件
cunj1qz12#
我最终修复它的方式是通过我在下面的链接中找到的东西Not showing Table of Objects until after Pause
我只需要编辑代码如下,并添加了一个Out-Host
现在输出如下所示:
请注意,我是使用WINDOWS POWERSHELL ISE进行测试的
如果我们想让一个表同时拥有这两个表,我们可以按如下方式来做。
kxeu7u2r3#
注意get-netipconfiguration同时有ipaddress和macaddress。ipv4 address通常是一个数组。