powershell - Powershell get-adcomputer + get-wmi-object
问题描述
我正在设置一个 RADIUS 服务器,除了带有特定无线网卡的笔记本电脑外,一切正常。
我设法解决了这个问题,但我希望列出我所有加入了 AD 域且 NIC 有故障/过时的计算机(我们所有的笔记本电脑都在几个不同的 OU 中)。
我正在考虑结合GET-ADcomputer -filter *
(列出所有计算机对象)并将其与get-wmiobject win32_networkadapter | select netconnectionid, name | where name -eq "Intel(R) Dual Band Wireless-AC 8265"
PS cmdlet 单独工作,但我想匹配由你帮我get-wmiobject
触发的每个匹配项?get-adcomputerCan
:)
解决方案
这就是您可以处理脚本的方式。我同意亚伯拉罕的评论,如果可以的话,请使用Get-CimInstance
:
Get-CimInstance win32_networkadapter | Where-Object Name -EQ $match
$computers = Get-ADComputer -Filter *
$match = 'Intel(R) Dual Band Wireless-AC 8265'
$result = foreach($computer in $computers)
{
$wmi = Get-WmiObject win32_networkadapter | Where-Object Name -EQ $match
if(-not $wmi){ continue }
[pscustomobject]@{
ComputerName = $computer.Name
NetconnectionID = $wmi.NetConnectionID
Name = $wmi.Name
}
}
$result | Export-Csv 'path/to/csv.csv' -NoTypeInformation
编辑
我还没有测试过这个,我现在也没有办法测试它,但如果这个工作应该更快,使用查询语言:
$computers = (Get-ADComputer -Filter *).sAMAccountName
$match = 'Intel(R) Dual Band Wireless-AC 8265'
$filter = @{
ComputerName = $computers
Query = "SELECT NetConnectionID, Name FROM win32_networkadapter WHERE Name = '$match'"
}
Get-WmiObject @filter
推荐阅读
- oracle - 提取 CLOB 数据以进行插入
- c - VRUNTIME 变量最大值以分钟/小时为单位
- amazon-web-services - AWS 创建 Autoscaling 组失败
- javascript - 使用 node-lame 和扬声器在给定毫秒开始播放
- xcode - 为什么`#import
`失败? - android - 在 Android 启动活动中为 windowBackground 保持正确的纵横比
- laravel - 我想在 Laravel 中对我的选择查询进行分页
- css - 我如何重写内联 css
- react-native - 错误无法在运行 react-native android 时初始化类
- html - 角度叠加 - MatSpinner 动画无法正常工作(PC/Firefox)