gpt4 book ai didi

powershell - 以特定服务器为目标时,如何让 Get-ADUser 性能更好?

转载 作者:行者123 更新时间:2023-12-03 00:14:20 25 4
gpt4 key购买 nike

我正在从域中的所有用户那里获取一组属性。如果我没有指定特定的域 Controller ,查询会在不到一秒的时间内返回有效结果。如果我指定一个目标 Controller ,即使在我最近的域 Controller 上,结果也需要 18 秒才能返回。唯一的区别是我使用 -Server $serverName 定位服务器。 .

如何在指定服务器时获得相同的性能?这是用户界面驱动的,因此在数据更改后等待 18 秒(最少)是很长的等待时间。在函数 $serverName提取存储的字符串值,因此不执行任何处理。

还有,有没有办法知道其中服务器 Get-ADuser如果我不指定服务器,则从中提取信息?

Connected-Server: * [Server not specified] >> Elapsed time HH:MM:SS = 00:00:00.9451947

Connected-Server: SERVER1 >> Elapsed time HH:MM:SS = 00:00:42.8815911

Connected-Server: SERVER2 >> Elapsed time HH:MM:SS = 00:00:39.8800249

Connected-Server: SERVER3 >> Elapsed time HH:MM:SS = 00:00:18.1686541


Function Get-TargetObjectList( $targetSearchBase )
{
$propertyList = "Enabled", "DistinguishedName", "Name", "department", "givenName","sn","displayName","CanonicalName", "Description"
$serverName = Get-CurrentDC # which domain controller name did the user choose from the drop down list?

# if $serverName is “*” then do not target a specific server

if ($serverName -eq "*")
{
$tempObjects = Get-ADUser -Filter * -Properties $propertyList -SearchBase $targetSearchBase
} else {
$tempObjects = Get-ADUser -Filter * -Properties $propertyList -Server $serverName -SearchBase $targetSearchBase
}

Write-Host "Get-TargetObjectList: " $serverName
$targetObjects = $tempObjects | Select-Object -Property $propertyList | Sort-Object -Property Name
return $targetObjects
}

最佳答案

有没有看Trace-Command ?您可以使用 Get-TraceSource要获得一些关于如何减少噪音的想法,但作为起点,请尝试以下操作:

Trace-Command -Name "*" -Expression { Get-ADUser -Filter * -Properties $propertyList -Server $serverName -SearchBase $targetSearchBase }

您可能会知道它卡在哪里。

关于powershell - 以特定服务器为目标时,如何让 Get-ADUser 性能更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40307397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com