ADUserとかを編集するPowerShellを作るときの心がけ

個人的な意見なので聞き流してほしい。

Microsoft 365やActive Directoryなどを値をPowerShellで編集する際の心がけなんだけど,

「チェックを確実に行えるようにする」ってのがある。

作業前と作業後に「Get-ADUser <Username>」を実行して比較すればいいじゃん

って人は周りに多いけど,チェックミスしない自信があるの?10件,100件でも大丈夫?って思うし,なんでプログラミングしているのにチェックが手動なんだろう?って思う。

変更するプロパティ情報を比較して「True/False」でチェックしたほうがよくないですか?
全角半角,大文字小文字,スペース,lとIのチェックは文字列比較すれば一発ですよ。

$resluts = @()
$obj = @()

$users_csv = import-csv -Path 'filename'
foreach ($user in $users_csv) {
  $ADUser = Get-ADUser -Identity $user.SAN
    $obj = New-Object PSObject -Property @{
     name               = $user.Name
        DisplayName        = $user.DisplayName
        ADName             = $ADUser.Name
        ADDisplayName      = $ADUser.ADDisplayName
        check_DName      = $user.DisplayName -eq $ADUser.DisplayName
    }
    $resluts += $obj
}
$resluts | import-csv -Path 'filename'
信頼できるCSVファイルをどうやって作成するか?という問題はあるけど,チェック作業の信頼性を高めるために↑のようなのを基本作るようにしています。
DisplayNameを変更したいなら,CSVと実際の値を比較した結果を得られるようにすればよい。って感じです。
変更前にやれば現状チェックになるし,作業中なら進捗確認にもなるし,作業後は完了チェックも出来る。Excelで読み込んでcheck_DName列をソートしてFalseがないことを確認する。それだけで確実に作業が終わりました!!って言える。

作業前と作業後に「Get-ADUser <Username>」を実行したのでチェックしてください!!って言われることあるけど,ほんとめんどくさいのでやめてほしい。

0 件のコメント:

コメントを投稿

Viva ラーニングのSharePointコンテンツで既定の言語がまじめに動き出した?

相変わらず挙動が安定しないVivaラーニングさん。 既定の言語設定がまじめに仕事を始めたのかもしれません。 ちょっと確認したいことがあってラーニングを開くとコンテンツが一つだけになってしまいました。すべてのコンテンツが表示された状態から何も操作していないのに表示コンテンツ数が変わ...