Итерировать список серверов с помощью dbatools?
Я действительно новичок в PowerShell и все еще учусь, поэтому у меня есть требование запустить некоторые команды из 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}
Я не уверен, что это правильный способ сделать это https://dbatools.io/functions/get-dbabackuphistory/
1 ответ
Решение
Я модифицировал ваш скрипт и протестировал. Работал на меня. Я добавил еще 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}