私は専門家のプログラマーではないので、どのロジックを理解しやすくするために使うべきですか?私はすべてのADユーザーを検索し、AD属性(オフィス)に基づいて、いくつかの文字列をいくつかの他の属性(市、郵便番号など)に書き込むスクリプトを作成しています。私はForeachを使って遊んでいました。そして、そのループの中で、置き換えられたset-ADUserかwhere節を使っていました。 IF、IfElseステートメントの束の非常に面倒な方法です。また、私はSwitch(Case)ステートメントを調べ始めました。ループのために使用するロジック。最も簡単なものと最も簡単なもの
提案がありますか?その上に構築するために、小さな始め
は、私はこれを開始しました:
代わり$Users = Get-ADUser -searchbase "OU=users,OU=testing,DC=blah,DC=company,DC=com" -filter {samaccountname -like "r*"} -properties * | Select samaccountname,streetaddress,l, postalcode,st,physicaldeliveryofficename
foreach ($user in $users) {
set-aduser $user -city "NoWhere" -Postalcode "B2B 2B2"| where {$_.physicaldeliveryofficename -eq "Head Office"}
}
またはスイッチ:複雑な外部リソースを照会するには、通常の99%がかかるため
$Users = Get-ADUser -searchbase "OU=users,OU=testing,DC=blah,DC=company,DC=com" -filter {samaccountname -like "remot*"} -properties * | Select samaccountname,streetaddress,l, postalcode,st,physicaldeliveryofficename
foreach ($user in $users) {switch ($users.physicaldeliveryofficename){
"Nowhere town" { -city "NoWhere" -postalcode "A1A A1A"}
"Anywhereville" { -city "Anywhere" -postalcode "B1B B1B"}
}}
それはスクリプトに多くの時間を依存します。しかし、通常、可読性は生の性能よりもはるかに重要です。 –
PowerShellはSQLではない、 'Set-ADUser ... | Office = '本社'はpowershellでは無意味です。 – TessellatingHeckler