【问题标题】:Active Directory ldap searches/secActive Directory ldap 搜索/秒
【发布时间】:2015-01-06 21:03:19
【问题描述】:

我正在尝试制作一个脚本,该脚本将在该脚本运行时为我的域中的每个域控制器返回 ldap searches/sec 计数器的值。

由于某种原因,在询问 4-5 个域控制器后,脚本挂起,不再显示任何内容,并且 Ctrl+C 也没有响应,仅在几秒钟后.

给各位专家的问题是:为什么这个脚本会挂起?难道我做错了什么?还有其他方法吗?

我将把我的脚本的两个版本放在下面。第一个只有一行:

[system.directoryservices.activedirectory.domain]::GetCurrentDomain() |
  ForEach-Object {$_.DomainControllers} |
  ForEach-Object {$_.Name} |
  foreach-Object {
    Get-Counter -computer $_ -counter "\\$_\DirectoryServices(*)\LDAP Searches/sec" |
      select -ExpandProperty countersamples |
      ? {$_.path -match 'ldap searches/sec'} |
      select path,cookedvalue |
      Format-Table -AutoSize
  }

第二种变体:

$domain_controllers = "C:\domain_controllers.txt"
Import-CSV $domain_controllers | ForEach-Object {
  $dc = $_.domain_controller
  Get-Counter -computer $dc -counter "\\$dc\DirectoryServices(*)\LDAP Searches/sec"
}

作为附加信息:我的域包含超过 10 个域控制器。

【问题讨论】:

  • 等待后也没有错误?让我们关注静态列表(第二个变体)。尝试添加Write-Host "$(Get-date) - Running Get-Counter for $dc" 以查看它卡在哪个位置。我打赌您列表中/从 AD 返回的第 4、第 5 或第 6 个服务器没有响应 winrm 请求,或者它处于脱机状态。 cmdlet 超时需要一段时间。找出哪个失败,将其从列表中删除,然后重试。
  • 另一种选择是并行运行查询(如jobs),这样一个挂起的作业就不会妨碍其他作业的运行。

标签: powershell active-directory


【解决方案1】:

我在互联网上找到了一个使用后台运行空间的代码。 现在我的脚本看起来像这样:

$code = {
$domain_controllers = "C:\domain_controllers.txt"
Import-CSV $domain_controllers | ForEach-Object {
$dc = $_.domain_controller
$counter = Get-Counter -computer $dc -counter "\\$dc\DirectoryServices(*)\LDAP Searches/sec" `
    | select -ExpandProperty countersamples | ? {$_.path -match 'ldap searches/sec'} `
    | select path,cookedvalue
$path = $counter.path.split("\")
$log = $path[2] + " - " + $counter.cookedvalue
$log | Out-File -Append C:\result.txt 
}
}
$newPowerShell = [PowerShell]::Create().AddScript($code)
$job = $newPowerShell.BeginInvoke()
While (-Not $job.IsCompleted) {}
$newPowerShell.Dispose()

我不能把它归功于它,但它最多可以在 1 分钟内完成这项工作。之前的工作(我让它运行并忘记了它)大约需要 40 分钟才能完全运行。

我仍然需要处理脚本的最终外观,并在其中涉及一些电子邮件发送,但到目前为止一切都很好。 感谢您提供这方面的提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多