Я бы использовал для этого потрясающий модуль DBATools сообщества PowerShell. Он написан некоторыми давними PowerShell и SQL MVP и облегчает эту задачу.
Сначала установите модуль с
Install-Module DBATools
В модуле есть две команды, которые нам понадобятся для работы. Сначала вы конвертируете обычные объекты PowerShell в таблицу данных SQL с помощью ConvertTo-DBADataTable
, затем записываете ее в базу данных SQL с помощью Write-DBADataTable
.
Так вот как это выглядит. Я начинаю с создания новой базы данных SQL с именем DBATools
в моем экземпляре SQL с именем SCCM
. Затем я получаю список пользователей, которых я хочу вставить в таблицу.
Затем я передаю это в | ConvertTo-DbaDataTable
и сохраняю в переменной.
$DataTable = get-aduser -Filter * | select Name,DistinguishedName,SurName | ConvertTo-DbaDataTable
И, наконец, я запускаю Write-DBADataTable
, чтобы записать эти строки в новую таблицу (создание новой таблицы путем добавления -AutoCreateTable
)
Write-DbaDataTable -SqlInstance SCCM -Database DBATools `
-InputObject $DataTable -Table UserTable -AutoCreateTable
Теперь я перехожу к SSMS и обновляюсь, чтобы увидеть, что моя новая таблица была создана с соответствующими столбцами! Потрясающе и легко-просто!