通过Powershell获取名称和DHCP状态

时间:2017-05-10 13:09:56

标签: powershell for-loop cmd

你可以帮助我,我试图在txt文件中获取下面这个命令的计算机名称和输出。

for(f_%)in(user_plant.txt)do>> \ brspd010 \ c $ \ users \ machael1 \ desktop \ nic.txt((wmic / node:%i computersystem get caption | more)& (powershell -command"& {Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled = TRUE -ComputerName%i。| Format-Table -Property IPAddress,DHCPEnabled}))

命令powershell当我在没有休息的情况下运行时,它的工作正常,但当我试图拼凑起来时不起作用。

userplant.txt具有: brspd001 brspd002 ...

我的需要是:当我只运行powershell命令时,显示一个带有机器名称和IPV4的txt文件,DHCP状态相同。 例如:

计算机名: BRSPD001 IP 172 ...... DHCP已启用 真。

或类似的人。

你可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

这在纯PowerShell中可能做得更好。假设user_plant.txt中每行有一个computername:

foreach ($Computer in (Get-Content -Path user_plant.txt)) {
    $c = Get-WMIObject -ComputerName $Computer -Class Win32_NetworkAdapterConfiguration -Filter "IPEnabled = $true"
    "ComputerName: {0}  IP: {1}  DHCPEnabled {2}" -f $Computer,$C.IPAddress[0],$C.DHCPEnabled | Add-Content -Path "\\brspd010\c$\users\machael1\desktop\nic.txt"
}
相关问题