【问题标题】:Failing to find DC servers and their disk usage找不到 DC 服务器及其磁盘使用情况
【发布时间】:2020-04-23 13:27:03
【问题描述】:

所以我被这个任务卡住了,我需要找到所有 DC 服务器及其磁盘使用情况

我先尝试获取所有 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 

【问题讨论】:

  • 您能否详细说明“不起作用” - 会发生什么?你得到部分输出吗?你得到 unexpected 输出了吗?有没有错误?如果是这样,错误消息说明了什么?请记住,您是唯一可以看到您的屏幕的人:)

标签: windows powershell active-directory


【解决方案1】:

对于您的任务,您的代码中有一些无用的代码行。您是否从某个地方复制了代码? ;-) 我建议您先花时间开始学习 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
}

结论:您应该从复制的代码中删除循环内的内容,并将其替换为最后添加的内容。 ;-)

【讨论】:

  • @Lyoxa_grimm 这很大程度上取决于你的水平。对于初学者:Getting Started with PowerShell ...或者如果您喜欢阅读Windows PowerShell™ 4: TFM。如果不是关于 5.1 或 7.0 版,请不要担心 - 基础仍然相同。 ;-)
  • 好人!谢谢!一个月前我开始了一份新工作,我经常使用 powershell,主要是编辑现有的脚本,但最近我接到了要求我从头开始编写脚本的任务,希望这些视频能有所帮助
  • 如果您在安装了 Active Directory PowerShell 模块的计算机上工作,您只需使用 Get-ADDomainController cmdlet 即可返回组织中的所有 DC。
猜你喜欢
  • 2016-06-12
  • 1970-01-01
  • 2018-06-30
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-08
  • 2015-10-30
相关资源
最近更新 更多