2017-08-30 58 views
0

我對PowerShell非常陌生,至今仍在學習,因此我需要從dbatools運行一些命令並保存結果。用dbatools迭代服務器列表?

$servers = 'E:\DBA\servers.txt' 
$outfile = 'E:\DBA\out.csv' 

Get-Content $servers | ForEach-Object {Invoke-Command DbaBackupHistory -SQLServer $_ | ConvertTo-CSV -NoTypeInformation | Select-Object -Skip 1 | Out-File -Append $outFile} 

我不能確定這是否是DOIT https://dbatools.io/functions/get-dbabackuphistory/

+2

爲什麼這個問題從DBA站點移出。它是PowerShell,並且與dbatools模塊有關......它們都與SQL Server打交道,所以它會屬於DBA問題。 –

回答

2

我修改劇本你和測試的正確方法。爲我工作。我添加了2個開關來限制結果集。 -database-lastfull。您可以查看文檔瞭解詳情。

$outfile = 'c:\out.csv' 

Get-Content c:\servers.txt|foreach-object {get-DbaBackupHistory -SqlServer $_ 
-database dbadatabase -lastfull | ConvertTo-CSV -NoTypeInformation | 
Select-Object -Skip 1 | Out-File -Append $outFile} 
+0

謝謝,我可以在那之後解決它,但同樣我也很感激 – Enrique

+2

'Get-DbaBackupHistory'支持滾動,因此您可以輕鬆地執行'Get-Content'C:\ servers.text | Get-DbaBackupHistory - 數據庫DbaDatabase -LastFull |選擇對象-Skip 1 | ExportTo-Csv -NoClobber -NoTypeInformation -Path $ outfile' –