PowershellでADUsersを見ている間に奇妙なものが見つかりました。PowershellのADUsersでプロパティが正しく表示されない
私は次のように入力した場合:
PS> Get-ADUser Xuser -Properties PasswordLastSet, LastLogonDate
私はこのような出力になるだろう:
DistinguishedName : CN=Xuser,OU=Domain Users,DC=LocalDC,DC=local
Enabled : True
GivenName :
LastLogonDate : 7/14/2016 8:24:03 AM
Name : Xuser
ObjectClass : user
PasswordLastSet : 7/1/2016 11:48:37 AM
SamAccountName : Xuser
Surname :
UserPrincipalName :
をあなたが見ることができるように、私はPasswordLastSetとLastLogonDateのタイムスタンプを持っています。
私はこの次のように入力している場合しかし、:
PS> $user = Get-ADUser Xuser
PS> $user.LastLogonDate -eq $null
PS> True
PS> $user.PasswordLastSet -eq $null
PS> True
何も台無しにしなかったことを確認するために、私は、型付き:何らかの理由で
PS> $user
DistinguishedName : CN=Xuser,OU=Domain Users,DC=LocalDC,DC=local
Enabled : True
GivenName :
LastLogonDate :
Name : Xuser
ObjectClass : user
PasswordLastSet :
SamAccountName : Xuser
Surname :
UserPrincipalName :
を、その情報は、$ヌルを示しています。 - あなたは-Properties
スイッチとパラメータとしてその特定の情報を要求する必要が
PS> $user = Get-ADUser Xuser
それはデフォルトでPasswordLastSetとLastLogonDateを収集していない:私は気づい
ことの一つは、私が入力したときということです。
私が入力した場合:
PS> $user.LastLogonDate
PS> $user
を今はLastLogonDateフィールドを持っていますが、それは、$ nullです。 $user
用の出力に
PS> $user.PasswordLastSet
PS> $user
PasswordLastSetとLastLogonDateショーの両方を私は値が$ nullであるかどうかを確認するための条件を実行している場合、それはTrue
を返します。私が入力した場合と同じになります
醜い行動の種類で、私はそれがなぜそれを行うのか不思議でした。私の最高の推測では、$ userにはGet-ADUser
コマンドレットの既定の情報のみが入力されており、非常に単純なWYSIWYGです。これらの特定のフィールドを取得するには、それらを暗黙的に要求する必要があります。
は私が(初期Get-ADUser
コマンドレットに要求されない限り)特定のフィールドは、デフォルトでは非表示になったかどうかを確認したかったので、私は入力された:
PS> $user.random
PS> $user
そして案の定を、random :
はそこにフィールドました。
私も限りこれを行うためのように行くことができます:それはこのように動作理由を誰でも簡単に説明することができます:私は$user
質問を入力すると
PS> $user.random = "Property"
それはrandom : {Property}
を示して?
[エイリアスパラメータ名を使用していないPowerShellの関数ValueFromPipelineByPropertyName](http://stackoverflow.comの可能性のある重複/ question/29928911/powershell-function-valuefrompipelinebypropertyname-not-using-alias-parameter-na) – briantist
これはADコマンドレットの特質であり、リンクされた複製ではうまく説明されています。基本的には、例外をスローするのではなく、存在するかのように振る舞います( '$ null'値)。 – briantist
@briantistに加えて、 'PasswordLastSet'と' LastLogonDate'は 'ADUser'オブジェクトに設定されているデフォルト属性の一部ではないので、あなたが見つけたように明示的に' -Properties'を要求しなければなりません –