個人的な意見なので聞き流してほしい。 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を変更したいなら