Как импортировать модуль SQLPS в Azure Automation?

Я пытаюсь подключиться к серверу Azure SQL (по другой подписке) с помощью SQLPS

Метод аутентификации - аутентификация сервера SQL.

Когда я пытаюсь импортировать модуль SQLPS, я получаю эту ошибку:

Ошибка: import-module: указанный модуль 'sqlps' не был загружен, так как ни в одном каталоге модулей не было найдено допустимого файла модуля.

Хотя я могу подключиться к тому же серверу SQL Azure из Windows PowerShell, я понятия не имею, почему я не могу выполнить то же самое в Azure Powershell. Я понимаю, что для PowerShell должны существовать соответствующие модули.psm1, но кто-то может мне помочь, как это сделать?

Я попытался экспортировать / импортировать модуль из

C:\Program Files\Microsoft SQL Server\120\Tools\PowerShell\Modules

и не тренировался тоже...

2 ответа

Просто чтобы ответить на этот вопрос о 2 возможных решениях, которые я нашел:

  1. Вы можете использовать пользовательское расширение сценария Azure для внедрения сценария в виртуальную машину, на которую вы хотите восстановить. Затем скрипт будет запускаться локально на ВМ, что означает, что SQL PS будет доступен.

  2. Вы можете настроить виртуальную машину в Azure в качестве гибридного рабочего, который затем станет вашим "автоматом Azure". Затем вы можете установить SQLPS или любой другой модуль, который вам требуется на этом сервере.

Ошибка, которую вы получаете, заключается в том, что PowerShell просто сообщает вам, что возникли проблемы со всеми папками, указанными в вашей переменной $env:PSModulePath (т. Е. Переменная%PSMODULEPATH% env), и не нашел модуль SQLPS (в основном, его файл манифеста).

Мне не ясно, как вы "экспортируете / импортируете" SQLPS. Не могли бы вы уточнить это?

На чистой машине без SQLPS (то есть без SQL Engine и SQL Management Studio) я бы просто положился на пакет компонентов SQL для получения SQLPS. Если это то, что вы пытаетесь достичь, вы можете просто перейти на https://www.microsoft.com/en-us/download/details.aspx?id=42295 и загрузить следующие MSI (выберите архитектуру вашей ОС): - SQLSysClrTypes.mai - SharedManagementObjects.msi - PowerShellTools.msi Установите их в указанном порядке. Затем, когда вы открываете окно PowerShell, $ env: PSModulePath должен быть установлен правильно, и вы сможете просто сказать "Import-Module SQLPS -DisableNameChecking" и приступить к работе с SQLPS.

Пожалуйста, дайте мне знать, если это не то, что вы пытаетесь сделать или сталкиваетесь с другими проблемами. Если вы дадите мне больше деталей, я могу вам помочь.

Спасибо, Маттео

Другие вопросы по тегам