【发布时间】:2019-07-27 04:22:07
【问题描述】:
我只是想从 AD 中取出所有计算机,并希望向我显示 IP、DNS 名称、Mac 地址和描述。
我让 WMI 部分在我的本地计算机上工作,但是一旦我使用 AD 计算机列表尝试它,它就会抛出我自己无法解决的错误。
我知道在我们的内部网络中授予 WMI 读取权限,因为我们也使用 WMI 监控。
Powershell 代码:
$computerlist = Get-ADComputer -Filter * | select Name
foreach($c in $computerlist)
{
try
{
gwmi -class "Win32_NetworkAdapterConfiguration" -ComputerName $c |
select DNSHostName, MACAddress, IPAddress, Description |
where IPAddress -NotLike "" |
where Description -NotLike "VMware*"
}
catch
{
Write-Warning "$c is unreachable!"
}
}
【问题讨论】:
-
您收到的错误信息是什么?
-
[1] 管道不能在行首工作 - 只能在行的 end 内或行尾。 [grin] ///// [2] 看看你的
$C变量的内容。我怀疑它是一个 AD 对象,而不是简单的计算机名称。您可能需要使用$C.<PropertyName>,其中道具名称是您的$C对象包含的任何内容。 -
@HAL9256 RCP-Server 不可用 HRESULT: 0x800706BA
-
@Lee_Dailey [1] 是一个“图形”的东西,因为行会很长 [2] 我这样做了,它现在适用于某些名称,但仍然有更多错误然后通过
-
在您寻求代码帮助时,发布不起作用的代码有点愚蠢。 [grin] PoSh 知道在管道之后继续,因此您可以在此之后换行。 ///// 请显示您正在讨论的代码...现在我不知道您的代码实际上是什么... [sigh ...]
标签: powershell foreach active-directory wmi