"New-ShardMapManager" не распознается как имя командлета, пытающегося получить доступ через powershell

Шаги, которые я использовал: Login-AzureRmAccount - после запуска этого командлета в Powershell в режиме администратора я выполнил следующий запрос

New-ShardMapManager -UserName 'user_name' -Password 'enterd password' -SqlServerName 'server_name.database.windows.net' -SqlDatabaseName 'Elastic_poc_db'

Я получаю следующую ошибку:

New-ShardMapManager : The term 'New-ShardMapManager' is not recognized as the name of a cmdlet, function, script file, or operable program. 
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

At line:1 char:1

+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (New-ShardMapManager:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Я использую версию Powershell 4

2 ответа

New-ShardMapManager не является частью Azure Resource Manager, это отдельная загрузка, которую вы можете получить здесь: https://gallery.technet.microsoft.com/scriptcenter/Azure-SQL-DB-Elastic-731883db

Я столкнулся с этой проблемой гораздо позже, чем в сообщении выше, и информация в предыдущих ответах устарела. Мое решение может содержать антипрактики, но оно сработало для меня.

  1. Добавьте пакет NuGet эластичного клиента в PowerShell. Версия, которую я использовал, является текущей на момент публикации.

В командной строке PowerShell, работающей от имени администратора, выполните следующее:

      Install-Package -Name Microsoft.Azure.SqlDatabase.ElasticScale.Client -RequiredVersion 2.3.0 -SkipDependencies -Force -Source NuGet.org
  1. Скопируйте файлы в структуру папок модулей PowerShell.
  • Создайте подпапку в папке Documents\PowerShell\Modules. Я использовал \ShardManagement.
  • Скопируйте DLL, установленную Install-Package, в папку. Мой был здесь: C:\ProgramFiles\PackageManagement\NuGet\Packages\Microsoft.Azure.SqlDatabase.ElasticScale.Client.2.3.0\lib\net451\Microsoft.Azure.SqlDatabase.ElasticScale.Client.dll.
  • Скопируйте файл .psm1 ShardManagement.psm1 из GitHub в elastic-db-tools/Samples/PowerShell/ShardManagement в репозитории GitHub Elastic DB Tools в ту же папку модулей.
  1. Импортируйте модуль.

В том же приглашении PowerShell, которое вы использовали на шаге 1, выполните следующее:

      Import-Module ShardManagement

Теперь вы сможете запускать New-ShardMapManager и его аналоги в PowerShell.