我一直在为一个名为SuccessFactors的产品编写一个界面,我对它的一个组件有问题。
该脚本的一部分是一个简单的AD提取,但是,我使用adrootdse中以前的最高提交的USN来提取更改(而不是完整的AD提取)。
相关的行显示如下;
$dse = get-adrootdse
$ou = @('**various OU's**')
$activedirectory = $ou | ForEach { Get-ADUser -Filter * -Properties * -SearchBase $_ }
$oldadtimestamp = Get-Content ".\adtimestamp.txt"
$adusers = $activedirectory | where {$_.usnchanged -gt $oldadtimestamp} | foreach {$_}
$dse.highestCommittedUSN > adtimestamp.txt
然后我运行$ adusers并将相关数据输出到一个数组,该数组被导出到循环外的csv。
我遇到的问题是这个;如果我在一天中执行多次提取,它可以正常工作。但是,如果我将其留下一个周末并运行脚本,我将获得一个空的CSV或完整的AD提取。似乎没有任何模式。
我做错了什么?
非常感谢, 汤姆
答案 0 :(得分:0)
定位单个DC而不是整个域。每个DC都有不同的最高提交的USN
尝试
$dse = get-adrootdse -Server <ServerName>