質問: get-adcomputer -filter { operatingsystem -notlike '*server*' } -properties operatingsystem foreach($dc in $dcs) { get-adcomputer $dc.name -properties lastlogontimestamp | select-object @{n="computer";e={$_.name}}, @{name="lastlogon"; expression={[datetime]::fromfiletime($_.lastlogontimestamp)}} } ==================================結果:コンピューターの最終ログオン -------- --------- dc1 2013年6月6日16:38:24 dc2 2013年6月6日16:30:40=============================================また、誰またはどのアカウントがこのログオンを行ったかを取得したいと考えています。例えば:コンピューターのlastlogonユーザー -------- ------------------ ---- dc1 2013年6月6日16:38:24 user2 dc2 2013年6月6日16:30:40 user1
回答: これはtimのコードです。コンピュータのipアドレスとオペレーティングシステムを表示し、データをエクスポートするために更新しました。 $computers = get-adcomputer -filter { operatingsystem -notlike '*server*'} -properties operatingsystem foreach($computer in $computers) { $pcinfo = get-adcomputer $computer.name -properties ipv4address, operatingsystem ,lastlogontimestamp | select-object @{n="computer";e={$_.name}}, @{name="lastlogon";expression={[datetime]::fromfiletime($_.lastlogontimestamp)}},ipv4address,operatingsystem $lastuserlogoninfo = get-wmiobject -class win32_userprofile -computername $computer.name -credential $credential | select-object -first 1 $secidentifier = new-object system.security.principal.securityidentifier($lastuserlogoninfo.sid) $username = $secidentifier.translate([system.security.principal.ntaccount]) # create hashtable for properties $properties = @{'computer'=$pcinfo.computer; 'lastlogon'=$pcinfo.lastlogon; 'ipv4address'=$pcinfo.ipv4address; 'operatingsystem'=$pcinfo.operatingsystem 'user'=$username.value } #end $properties write-output (new-object -typename psobject -property $properties) | export-csv .\computers.csv -append -notypeinformation -encoding "unicode" } powershell get-adcomputerプロパティ式