所以我被这个任务卡住了,我需要找到所有DC服务器和它们的磁盘ussage
我先尝试获取所有的DC服务器,然后添加磁盘使用信息,但不起作用
$getdomain = [System.Directoryservices.Activedirectory.Domain]::GetCurrentDomain()
$getdomain | ForEach-Object {$_.DomainControllers} |
ForEach-Object {
$hEntry= [System.Net.Dns]::GetHostByName($_.Name)
New-Object -TypeName PSObject -Property @{
Name = $_.Name
IPAddress = $hEntry.AddressList[0].IPAddressToString
}
} | get-wmiobject -class win32_logicaldisk | select-object pscomputername,deviceid,freespace,size
对于您的任务,您的代码中有一些无用的代码行。你是从哪里复制代码的吗?;-(我建议你先慢慢来学习Powershell的基本知识。
这实际上就是你所需要的:
$DCList = [System.Directoryservices.Activedirectory.Domain]::GetCurrentDomain().DomainControllers
foreach ($DC in $DCList) {
Get-CimInstance -ClassName win32_logicaldisk -ComputerName $DC.Name |
Select-Object -Property pscomputername, deviceid, freespace, size
}
结论:您应该从复制的代码中删除循环中的内容,并将其替换为最后添加的内容。;-(