現在、モデル「firstname@domain.com」と新しい標準「FirstInitialLastName@domain.com」を使用して作成されたすべての AD ユーザーを見つけようとしています。Get-QADUser
特にユーザーの詳細をプルダウンするために、Quest ActiveRoles モジュールを使用しています。
Get-QADUser -enabled -IncludedProperties PrimarySMTPAddress | ?{$_.Type -match "User"} | Select-Object FirstName,PrimarySMTPAddress ...
これにより、ユーザーの名前とその SMTP アドレスのリストが取得されます。私が困惑しているのは、結果を比較する方法です。
値を正規化して (最初の名前の文字列に「@domain.com」を追加するか、SMTP 文字列から「@domain.com」を削除する)、-ieq テストを実行するのが最善の方法だと思いました。私は最初にできることを発見しました:
%{ $address=$($_.FirstName + "@domain.com";) }
しかし、PrimarySMTPAddress 文字列に対して $address をテストする方法がわかりません。次のように 2 番目の変数を作成できます。
%{ $smtp=$($_.PrimarySMTPAddress); }
そして結果を得る:
[PS] C:\>$addy -ieq $smtp
True
ツリーを一度に処理できるように、すべてをストリームで行う方法がわかりません。これが単一の行よりもスクリプトに適しているものであれば、それも問題ありません。BASH の輝かしい世界から来て、私の脳はそれを 1 行にまとめたかっただけです。