Sea*_*guy 1 powershell automation
我希望能够从此Get-ADUser命令的输出中隔离日期:
Get-ADUser -identity johnd -properties LastLogonDate | Select-Object name, LastLogonDate
Run Code Online (Sandbox Code Playgroud)
结果如下:
name LastLogonDate
---- -------------
John Doe 3/21/2016 10:01:36 AM
Run Code Online (Sandbox Code Playgroud)
我希望能够删除所有文本,只留下日期:
3/21/2016
Run Code Online (Sandbox Code Playgroud)
我已经尝试将这个拆分过滤器添加到上面命令的末尾,这与unix中的awk类似.(#2关闭,仅举例)
%{ $_.Split(',')[2]; }
Run Code Online (Sandbox Code Playgroud)
导致此错误:
[Microsoft.ActiveDirectory.Management.ADUser] doesn't contain a method named 'Split'
Run Code Online (Sandbox Code Playgroud)
该cmdlet的结果是具有一组属性的对象.您在表格格式中看到的输出不是对象中包含的输出; 它是它的显示表示.
因此,要首先获取日期对象,您可以修改您的Select-Object调用(已经在削减属性),如下所示:
$lastLogon = Get-ADUser -identity johnd -properties LastLogonDate |
Select-Object -ExpandProperty LastLogonDate
Run Code Online (Sandbox Code Playgroud)
$lastLogon现在包含一个[DateTime]对象.
有了它,您可以使用格式字符串格式化它:
$lastLogon.ToString('MM/dd/yyyy')
Run Code Online (Sandbox Code Playgroud)
甚至更好:
$lastLogon.ToShortDateString()
Run Code Online (Sandbox Code Playgroud)
(这些是略有不同的表示;后者不是零填充).
格式字符串使您可以完全控制表示.
| 归档时间: |
|
| 查看次数: |
4658 次 |
| 最近记录: |