2017-11-10 6 views
0

ここで少し混乱しています。私はたぶんこの夜遅くに何かを見逃しているでしょう。私は少しのコードで問題を抱えています。下記のコードを参照してください。上記の部分は何をすべきPowerShell - UPNでAD-Accountを検索できません

$MsolUser = Get-MsolUser -UserPrincipalName [email protected] 
Get-ADUser -filter {emailaddress -Like "$($MsolUser.UserPrincipalName)"} -Properties EmailAddress, LastLogonDate, SamAccountName | select EmailAddress, LastLogonDate, SamAccountName 

、変数$ MsolUserからMsolUserのuserPrincipalNameの収集ADに対応するEMAILADDRESSを検索し、EmailAddressの、LastLogonDateおよびSAMアカウント名を返すです。

上記のような変数を使って値を取得しようとすると、それは返されません。それは私に間違いを与えません。私はこれまでにこのようなことをしたことを知っていますが、現時点で私の頭を包み込むことはできません。

ヘルプを評価してください!

ありがとうございます!

+0

[ゲット-Aduser -Filterが変数を受け付けません]の可能性のある重複(https://stackoverflow.com/questions/20075502/get-aduser- filter-will-not-accept-a-variable) – BenH

+0

代わりに 'Get-ADUser -filter" emailaddress -Like '$($ MsolUser.UserPrincipalName)' "を使用してください。一般的なルールとしてAD cmdletフィルタを使用して、アウター、シングルクォートの二重引用符を二重引用符で囲みます。リンクされた複製の中のmklement0の答えが理由の詳細を示します。 – BenH

+0

これは私が最初にやったことですが、まだ$ MsolUserに取り込まれた値は返されません。それが私を混乱させます。 $ MsolUser.UserPrincipalNameのように値をそのまま取り出しても問題ありませんが、Get-ADUser文字列でこのデータをどのように収集しようとしても動作しません。 – CraCra

答えて

0

私が座ったときに私は疲れていたようです。 私はそれをそのまま使用した場合、コードは変数と一緒に正常に機能しました。

取り組ん修正バージョンについては、以下を参照してください:

$msoluser = get-msoluser -userprincipalname [email protected] 
$aduser = Get-ADUser -filter { emailaddress -Like $msoluser.UserPrincipalName} -Properties EmailAddress, LastLogonDate, SamAccountName | select EmailAddress, LastLogonDate, SamAccountName 
関連する問題