我對PowerShell非常新,並試圖用各種方法將結果從下面的PowerShell腳本中分離出來,但沒有運氣。目前,腳本列出了每列4列中的所有內容,並且每個服務器的結果之間沒有差距。 (當它完成一個服務器的結果時,我想要在每個結果之間使用服務器名稱來填充空白或頭部,以便在針對多個服務器運行時更易於閱讀) 任何幫助獲得此格式的內容都將不勝感激。Powershell格式
Get-WmiObject -ComputerName ("server1","server2") Win32_UserProfile | % {
$userinfo = [WMI] ($_.__Path -Replace "Win32_UserProfile", "Win32_SID")
New-Object PsObject -Property @{
ComputerName= $_.__Server
Domain = $userinfo.ReferencedDomainName
User = $userinfo.AccountName
LastUsed = $_.ConvertToDatetime($_.LastUseTime)
}
} | export-csv -NoType c:\Results.csv
這就是我要做的
server 1
user lastModified
bob 8/20/14
billy 7/20/14
Carla 6/12/14
server 2
user lastModified
bob 8/20/14
billy 7/20/14
Carla 6/12/14
server 3
user lastModified
bob 8/20/14
billy 7/20/14
Carla 6/12/14
這就是我目前得到
lastUsed user computername
8/20/14 bob server 1
6/20/14 billy server 1
9/1/14 sam server 3
3/2/14 sonny server 4
所以,當你在50條60曲線扔所有堆積如此,特別是如果你嘗試按日期排序,因爲那時服務器只是全部那個地方。
我每次運行該腳本時都會收到此錯誤,儘管我仍然得到結果並且腳本會生成它應該顯示的內容。
異常調用「ConvertToDateTime」與「1」的參數(一個或多個):「異常呼叫‘ToDateTime’與‘1’的參數(一個或多個):」指定參數超出有效的值的範圍的。 參數名稱:dmtfDate 「」 在行:13字符:33 + $ .ConvertToDatetime < < < <($ .LastUseTime) + CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:ScriptMethodRuntimeException
再次感謝您的幫助
如果您向我們展示我們所需的輸出將會容易得多。否則,社區可能會錯誤地認爲你正在尋找並浪費每個人的時間。 – Matt 2014-09-26 02:10:58
當然 - 我需要的是幾個服務器的用戶,上次使用的文件夾和服務器名稱的「用戶」文件夾中的所有文件夾的列表。基本上我需要找出哪些配置文件文件已經過時了一段時間,然後將其放入excel或HTML中。這個腳本正是我所需要的,但沒有格式化。我將在上面展示一個我想要獲得的示例 – MJT 2014-09-26 02:53:27
我想知道如果沒有'LastUsedTime'的值會發生錯誤...如果用戶從未登錄過,那麼它可能爲空。 – Matt 2014-09-26 03:49:20