我正在运行查询以从AD中提取数据。我有一个2行脚本来获取数据。第一行需要4或5分钟才能完成。它返回大约20万用户。第二行大约需要20个小时才能完成。加速powershell输出
$allEnabled = Get-adUser -f { (userAccountControl -eq 512) -and (Enabled -eq $true) } -properties employeeID, emailaddress, GivenName, SurName
$allEnabled | ft employeeID, emailaddress, GivenName, SurName | out-file d:\temp\output.txt
我试着写在同一时间输出一行,我尝试了数组中的馅,但我不能找到一种方法,任何快速写入数据。我已经从充足资源的强大服务器运行它,所以CPU和内存不受限制。
首先,每次使用| (管道),你正在放慢速度,但这可能不是缓慢的真正原因。当PowerShell cmdlet让你失望时,最好的选择是直接使用.NET方法。 –
@AdilHindistan无论你是否明确地输入它,你都使用管道。管道可以简化许多操作。 – Matt
@Matt不是真的,但这不是一个很好的论点。管道有其用途,但一般应避免当你有RAM和需要速度。 –