大家好!我正在学习如何在Powershell中四处走动,并已交给我完成这个小项目。基本上,我必须获取所有远程用户的Wi-Fi连接信息,并在文件中报告。问题是,"上级"希望主机名与其他信息一起报告。(目前它只报告MAC地址,如下所示,这需要手动与PC/MAC信息的单独列表进行比较(
这是我目前正在运行的代码(通常有25-30个电脑名称,用逗号分隔(
Get-NetAdapter-名称";Wi-Fi"-CimSession PC名称|输出文件-强制-文件路径C:\WIFI\WFI_VERIFICATION.csv
我只需要在每个返回的条目旁边显示主机名。
名称__接口描述___________ ifIndex _状态_______ MacAddress _ LinkSpeed
Wi-Fi Intel(R(双频无线AC 8260 15断开00-00-00-00 0 bps
这可能吗?给我指一个正确的方向,我就会明白的!
非常感谢!!!
Ken,
以下是一些应该让你开始的代码:
Clear-Host
$Machines = @("DellXPS8920","DellXPS8700","DellXPS137000")
$List = @()
ForEach ($Comp in $Machines) {
$List += Invoke-Command -ComputerName $Comp -ScriptBlock {
$Wireless = (Get-NetAdapter -Name "*Wi-Fi") |
Select InterfaceDescription, ifIndex, Status,
MacAddress, LinkSpeed
Return ,$Wireless
}
}
$list | ft -Property PSComputerName, InterfaceDescription, LinkSpeed
样品输出:
PSComputerName InterfaceDescription LinkSpeed
-------------- -------------------- ---------
DellXPS8920 Intel(R) Dual Band Wireless-AC 3165 0 bps
DellXPS8700 Dell Wireless 1703 802.11b|g|n (2.4GHz) 150 Mbps
DellXPS137000 Intel(R) Dual Band Wireless-AC 7265 866.7 Mbps
注:
- 此代码使用低效的+=构造将项添加到数组中。我尝试使用ArrayList类型,但无法使其正常工作以用于输出目的。希望其他SOer能在这里投球
- 由于控制台的空间限制,我只列出了一些输出项。你必须做一些格式化才能得到你想要的所有东西