Pic*_*kle 21 powershell active-directory
我的目标是从我的域中获取用户列表,其中包含以下信息:
- 显示名称-Country -Manager名称 - 最后登录日期
我正在运行以下脚本,除了LastLogon之外,一切看起来都很好.它将时间输入一堆随机数,如"129948127853609000".如何将其转换为DateTime格式?
Search-ADAccount -UsersOnly -SearchBase "OU=International,DC=mycompany,DC=com" -AccountDisabled:$false | Get-ADUser -Properties Name, manager, LastLogon | Select Name, manager, LastLogon | export-csv C:\Australia.csv -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
lat*_*kin 41
DateTime.FromFileTime 应该做的伎俩:
PS C:\> [datetime]::FromFileTime(129948127853609000)
Monday, October 15, 2012 3:13:05 PM
Run Code Online (Sandbox Code Playgroud)
然后,根据您要格式化的方式,查看标准和自定义日期时间格式字符串.
PS C:\> [datetime]::FromFileTime(129948127853609000).ToString('d MMMM')
15 October
PS C:\> [datetime]::FromFileTime(129948127853609000).ToString('g')
10/15/2012 3:13 PM
Run Code Online (Sandbox Code Playgroud)
如果您想将其整合到单行中,请将您的select陈述更改为:
... | Select Name, manager, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}} | ...
Run Code Online (Sandbox Code Playgroud)
Get-ADUser -Filter {Enabled -eq $true} -Properties Name,Manager,LastLogon |
Select-Object Name,Manager,@{n='LastLogon';e={[DateTime]::FromFileTime($_.LastLogon)}}
Run Code Online (Sandbox Code Playgroud)
小智 6
LastLogon是最后一次用户登录到您运行GET-ADUser cmdlet时负载均衡到的任何域控制器,并且该用户没有跨域复制。如果需要最后一位用户登录域中任何域控制器的时间,则确实应该使用LastLogonTimestamp。
| 归档时间: |
|
| 查看次数: |
176462 次 |
| 最近记录: |