2017-02-23 110 views
0

我正在運行Windows 2008 R2 Standard服務器我找到了一個Powershell命令,顯示將在30天內過期的所有用戶帳戶。添加更多詳細信息powershell命令輸出

Search-ADAccount -AccountExpiring -TimeSpan 30.00:00:00 | where {$_.ObjectClass -eq 'user'} | FT Name,ObjectClass -A 

我想將用戶過期的日期添加到命令的輸出是否有可能嗎?

+1

您是否嘗試過管道的輸出將'Where-Object'改爲'Get-Member'而不是'Format-Table'?這會告訴你什麼信息是可用的。 –

+0

傑夫,我是新來的,你能告訴我一個例子嗎? –

+0

'Search-ADAccount -AccountExpiring -TimeSpan 30.00:00:00 | Where-Object {$ _。ObjectClass -eq'user'} | Get-Member'會顯示'Search-ADAccount'返回的對象中的信息。作爲一個簡單的例子,'Get-Process'返回'System.Diagnostics.Process'類型的對象;如果我在計算機上選擇一個進程並將其傳遞給Get-Member'Get-Process -Name CCMExec | Get-Member'我將得到一個System.Diagnostic.Process類型的對象支持的屬性和方法列表。這裏粘貼太多了;對於ActiveDirectory對象也會有很多。 –

回答

0

取代聲明要輸出的字段,將(現在)更改爲Select-Object *以獲取所有字段。

Search-ADAccount -AccountExpiring -TimeSpan 30.00:00:00 | 
    Where-Object {$_.ObjectClass -eq 'user'} | 
    Select-Object * | 
    Format-Table -Autosize 

我也擴大了aliases/abbreviated命令,並把每個管道部分放在一個新行。

一旦你可以看到所有可用的列,改變這一行...

Select-Object * | 

...到

Select-Object FIELD1, FIELD2, FIELD3 | 

...其中FIELD1-3代表列你想看到的輸出。

,並獲得有關的Search-ADAccount功能的幫助下,使用PowerShell的幫助命令,就像這樣:

Get-Help Search-ADAccount -Full 

您可能需要組合使用這與Get-ADUser獲得帳戶過期細節。

+0

它幾乎符合我的要求,似乎無法找到如何顯示用戶的期待日期。 –

+0

使用PowerShell'Get-Help'命令,如下所示:'Get-Help Search-ADAccount -Full'。見上面的編輯。 – TechSpud

0

嘗試

Search-ADAccount -AccountExpiring -TimeSpan 30.00:00:00 | where {$_.ObjectClass -eq 'user'} | select -First 1 | Format-List * -Force 

這應該給你返回的對象,然後您可以添加到您的FT命令的所有屬性的列表,像

Search-ADAccount -AccountExpiring -TimeSpan 30.00:00:00 | where {$_.ObjectClass -eq 'user'} | FT Name,ObjectClass,AccountExpiring -A 
+0

它幾乎符合我的要求,似乎無法找到如何顯示用戶的期待日期。 –