我創建了一個腳本來抓取來自多個SQL服務器的信息,並將其泵送到用戶可以訪問的文件,而不必一直打電話給我。我現在運行的問題是格式化invoke-sql命令的輸出,所以我可以把它放到散列表中。我想在一列(即Microsoft SQL Server 2008)中獲取SQL版本,在第二列中獲得版本號(即10.0.5512.0)。接下來是我創建的代碼和它輸出的內容。正如你所看到的,我得到的信息,但不能把它放入哈希表。它只是把......放在桌子上。Powershell格式化Invoke-sqlcmd
$SQLVerPart1= Invoke-Sqlcmd -Query "select @@VERSION;" -ServerInstance $Server | Out-String | ForEach-Object { $_ -replace '-.*'}
$SQLVerPart2 = Invoke-Sqlcmd -Query "select SERVERPROPERTY ('productversion')" -ServerInstance $Server | Out-String
$SQLVerPart1 | Out-File -Append $Log
$SQLVerPart2 | Out-File -Append $Log
$SQLVer.add($SQLVerPart1,$SQLVerPart2)
OUTPUT:
列1
的Microsoft SQL Server 2008(SP3)
列1
10.0.5512.0
名稱值
---- ----- ... ...
這正是我所需要的。第二部分是一種魅力,但我無法破譯它。就哈希表而言,我只是循環遍歷每個服務器,並在開始進入其他資料(例如數據庫,大小,所有者等)之前刪除版本信息,因此我認爲您給出的第一部分我會做得很好。感謝您及時的回覆! –