【发布时间】:2020-08-31 12:59:49
【问题描述】:
我的脚本有问题,请帮助:3
这个脚本应该从我们的服务器 OU 中获取所有服务器主机名。而不是获取服务器的已用和可用空间但是当我尝试使用“Get-AdComputer”cmdlet 获取服务器列表时出现错误。
$servers = Get-ADComputer -Filter * -SearchBase "OU=SomeOU, DC=SomeDomain, DC=SomeDomain, DC=SomeDomain" | Select-Object Name
$allDisks = foreach ($server in $servers)
{
Get-WmiObject Win32_LogicalDisk -ComputerName $server -Filter DriveType=3 |
Select-Object @{'Name'='ComputerName'; 'Expression'={$server}},
DeviceID,
@{'Name'='Size'; 'Expression'={[math]::truncate($_.size / 1GB)}},
@{'Name'='Freespace'; 'Expression'={[math]::truncate($_.freespace / 1GB)}}
}
$allDisks |Export-Csv C:\Servers.csv -NoTypeInformation
当我运行这个时,我得到:
Get-WmiObject : Der RPC-Server ist nicht verfügbar.
In Zeile:5 Zeichen:5
+ Get-WmiObject Win32_LogicalDisk -ComputerName $server -Filter Dri ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], COMException
+ FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
我还应该补充一点,如果我只从第一行运行这个东西,我会得到一个我们所有服务器的干净列表。
【问题讨论】:
-
你怎么会认为是
Get-ADComputer-line 失败了? -
bc 当我手动创建具有计算机名称的数组时,它可以正常工作
-
但是失败的是你的
Get-WmiObject-line,而不是 Get-ADComputer。我猜你的列表中的服务器被禁用、脱机或无法通过 RPC 访问。 -
@CruZer0 - 这是查询系统列表并处理无响应者 ... >>> 基本远程并行 SystemInfo 演示脚本的一种方法的演示 - Pastebin.com — pastebin.com/cGL5biWH
标签: windows powershell storage analysis