Usrid
カスタム属性をEMP$ID
値で埋め込むPowerShellスクリプトがあります。 $ID
は、通常、テキストファイルに格納され、IDを設定してそれを1つ上に設定した後に連続して書き込まれる連続番号です。まず、Get-ADUser
のIDを持たないすべてのユーザーを取得し、そのIDを属性に設定します。PowerShellスクリプトごとにIDを設定する
私の問題は次のとおりです。IDまたは値が存在するかどうかを確認したい。
# I'm calling the content or the last ID
$lastid = Get-Content "C:\startid.txt"
# Convert the content into a decimal string
$Usrid = [System.Decimal]::Parse($lastid)
# Find out all userProxyFull Object without an ID
Get-ADObject -Filter {(objectClass -eq "userProxyFull") -and (-not(Userid -like "*"))} -Searchbase "DC=MY,DC=SEARCHBASE" -Searchscope subtree -Server myIP |
ForEach-Object {
# Then the problem part here, see description above
if ({Usrid -eq "EMP$ID"}) {
$ID++
Set-ADObject $_ -Partition "DC=my,DC=partition" -Add @{Usrid="EMP$ID"}
} else {
Set-ADObject $_ -Partition "DC=my,DC=partition" -Add @{Usrid="EMP$ID"}
}
}
しかし:
- IDはファイルからの→
$ID++
- 他→セットIDが存在し、それがファイルに記述する場合には、再び
スクリプト内if
部分はこのようになりますスクリプトはチェックしません。または、最も高いIDを確認し、最も高いIDをUsrid
属性に設定するにはどうすればよいですか?
'{USRID -eq「EMP $ ID」}' - > '$ _。Usrid -eq" EMP $ ID "。さらに役立つようにするには、コード、処理しているオブジェクト、および属性変更の仕方をより詳細に記述する必要があります。 '$ ID'の値が3で属性が' EMP13'、 'EMP1'、' EMP3'、 'EMP03'の場合はどうなりますか? –
私のコードを更新しました。 – Duezceli
それは私の質問に答えません。 'Usrid'が空の時に何をしたいですか? 'Usrid'がより高いIDを持つ値を持つとき、あなたは何をしたいですか?下位ID?それは手つかずのままにしておくべきですか?すべてのオブジェクトは操作後に同じ 'Usrid'値を持つべきですか? –