powershell - 指定服务器时 Get-ADUser 后执行时间较长
问题描述
我有一个查询 AD 并处理结果的脚本:
$users=Get-ADUser -filter {...} -Properties ...
try {
foreach($user in $users) {
$obj=new-object PSObject @property {...}
[void]($arraylist.add($obj))
}
}
catch {...}
Get-ADUser
大约需要 1.5 秒并返回 1000+ 行,整个块try
大约需要 0.5 秒。
该@Properties {...}
部分仅处理$user
字段,与 AD 或任何其他资源没有进一步的交互。该try
块运行没有错误。
如果现在我将第一行更改为
$users=Get-ADUser -filter {...} -Properties ... -Server <someDC>
只需添加一个-Server
参数,Get-ADUser
命令大约需要 3 秒,try
块20+秒
我尝试了很多次以确保远程连接建立良好而没有任何改进。我尝试了每个可用的 DC,并且每次都获得了相同的执行时间。如果我删除-Server
参数,我会恢复原来的执行时间。
该问题与本文中描述的问题有相似之处,但我的问题是在之后执行的代码Get-ADUser
,而不是Get-ADUser
本身。
非常令人不安的是,它是之后变慢的代码。
你有什么线索吗?
DC: Win2008R2
Client: Win7, Powershell5.1, AD Management Tools locally installed.
解决方案
推荐阅读
- android - DialogFragment 太宽,无法居中
- javascript - window.focus() 在一段时间后不起作用
- android - onActivityResult() 没有在片段中调用
- commercetools - 我们如何向 Product 添加一个 ProductType?
- postgresql - 如何将插入查询返回的值分配给 PL/pgSQL 中的变量
- javascript - Angular AWS Cognito 强制更改密码
- python - 仅在单词独立时替换单词
- java - 收到一个未知 ID '5.14' 的测试失败事件。注册的测试 ID:'[:my.project:test, 5.1]'
- javascript - 点击后有什么方法可以更改图标文本吗?
- javascript - 是否可以在图像将渲染的 React 组件之外预加载图像?