Используя powershell для сбора диска, используемого в sql таблицу

В то время как я не могу прокомментировать WebDAV, Вы рассмотрели совместное использование через NFS на Вашем Windows Server?

Эта ссылка объясняет, как сделать это Microsoft Technet

0
задан 14 April 2011 в 03:28
2 ответа
$servers = Invoke-Sqlcmd -Query "SELECT SERVERHardwareName FROM SERVERLIST_Hardware WHERE EXCLUDE = 0 and activenode = 1 or activenode is null;" -ServerInstance "sqlserver" -Database "dba_rep" | foreach {$_.SERVERHardwareName}
$ExportPath = 'c:\temp\psout\Server-DiskSpace.csv'  
Get-WmiObject -ComputerName $servers -Query 'SELECT * from Win32_LogicalDisk WHERE DriveType=3' ` 
| select SystemName,DeviceId,DriveType, VolumeName,Description, @{Label="FreeSpace(GB)";Expression={"{0:N2}" -f ($_.FreeSpace/1GB)}},`
  @{Label="Size(GB)";Expression={"{0:N2}" -f ($_.Size/1GB)}} | Export-Csv -NoTypeInformation -Path $exportpath

Можно упростить вполне немного путем загрузки списков серверов в массив и передачи массива для получения. Если Вы смотрите на получать-справку, добираются-wmiobject, Вы заметите, что параметр имени компьютера является строкой [], каждый раз, когда Вы видите строку [], это означает, что берет массив.

1
ответ дан 4 December 2019 в 22:27

Вы могли также создать объект SMO для своего начального запроса серверов и затем снова использовать серверное соединение SMO для выполнения вставки (информации о диске) назад в тот же сервер.

0
ответ дан 4 December 2019 в 22:27

Теги

Похожие вопросы