我希望能够从 Get-ADUser 命令的输出中分离出日期:
Get-ADUser -identity johnd -properties LastLogonDate | Select-Object name, LastLogonDate
结果是这样的:
name LastLogonDate
---- -------------
John Doe 3/21/2016 10:01:36 AM
我希望能够删除所有文本,只留下日期:
3/21/2016
我尝试将这个分割过滤器添加到上述命令的末尾,这类似于unix中的awk。 (#2 已关闭,仅作为示例)
%{ $_.Split(',')[2]; }
这会导致此错误:
[Microsoft.ActiveDirectory.Management.ADUser] doesn't contain a method named 'Split'
该 cmdlet 的结果是一个具有一组属性的对象。您以表格格式看到的输出并不是对象中实际包含的内容;而是它是它的显示表示。
因此,要首先仅获取日期对象,您可以修改您的Select-Object
像这样调用(已经减少了属性):
$lastLogon = Get-ADUser -identity johnd -properties LastLogonDate |
Select-Object -ExpandProperty LastLogonDate
$lastLogon
现在包含一个[DateTime] object.
这样你就可以使用它来格式化它格式化字符串:
$lastLogon.ToString('MM/dd/yyyy')
或者甚至更好:
$lastLogon.ToShortDateString()
(这些表示方式略有不同;后者不进行补零)。
格式字符串使您可以完全控制表示形式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)