【问题标题】:Getting Mac Address and IP through PowerShell Script通过 PowerShell 脚本获取 Mac 地址和 IP
【发布时间】:2022-09-29 00:47:38
【问题描述】:

我需要获取几台 PC 的 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

当我尝试在 PowerShell 文件(例如 example.ps1)中运行它们时,就会出现问题。

Get-NetIPAddress -InterfaceAlias \"*Ethernet*\",\"*Wi-Fi*\" -AddressFamily IPv4 | Select InterfaceAlias, IPAddress;
Get-NetAdapter -Name \"*Ethernet*\",\"*Wi-Fi*\"| Select Name,MacAddress;
pause;

结果将如下所示,并且并非两个 cmdlet 都会运行。它总是第一个跑出来的,而且总是在暂停之后 按 Enter 继续...:

InterfaceAlias IPAddress     
-------------- ---------     
Ethernet       255.255.255.255
Wi-Fi          255.255.255.255

问题

如何让两个 cmdlet 在 PowerShell 脚本中运行并查看输出?我希望他们按顺序执行并在最后发生暂停

如果我只添加powershell -Command \"PS_COMMAND_HERE\",我可以在 bat 文件中运行

    标签: windows powershell powershell-cmdlet windows-10-iot-enterprise


    【解决方案1】:

    我最终修复它的方式是通过我在下面的链接中找到的东西 Not showing Table of Objects until after Pause

    我只需要如下编辑代码并添加一个 Out-Host

    Get-NetIPAddress -InterfaceAlias "*Ethernet*","*Wi-Fi*" -AddressFamily IPv4 | Select InterfaceAlias, IPAddress |Out-Host;
    Get-NetAdapter -Name "*Ethernet*","*Wi-Fi*"| Select Name,MacAddress | Out-Host;
    pause;
    

    现在的输出如下所示:

    InterfaceAlias IPAddress     
    -------------- ---------     
    Ethernet       255.255.255.255
    Wi-Fi          255.255.255.255  
    
    
    
    Name     MacAddress       
    ----     ----------       
    Wi-Fi    FF-FF-FF-FF-FF-FF
    Ethernet FF-FF-FF-FF-FF-FF
    
    
    Press Enter to continue...:
    

    请注意,我正在使用 WINDOWS POWERSHELL ISE 进行测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-28
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-23
      • 2011-10-09
      相关资源
      最近更新 更多