Из статьи MS SQL Server PowerShell
• Поставщик SQL Server, который обеспечивает простой механизм навигации, аналогичный путям файловой системы. Можно создавать пути, аналогичные путям файловой системы, где диск связан с объектной моделью управления SQL Server, а узлы основаны на классах объектной модели. Затем вы можете использовать знакомые команды, такие как cd и dir, для навигации по путям, аналогичным способам навигации по папкам в окне командной строки. Вы можете использовать другие команды, такие как ren или del , для выполнения действий над узлами в пути.
Наличие такого провайдера, как этот, позволяет вам обращаться с SQLServer так же, как с диском (буквой).
Так что, скорее всего, где-то в вашем коде вы использовали CD
для перемещения в поставщик SQLServer ( cd sqlserver:
).
Если бы вы хотели вернуться к d:\thefolder
конкретному, вы бы использовали cd d:\thefolder
.
Если вы хотите вернуться туда, где вы начали, когда закончите, то вам, вероятно, придется сохранить текущее местоположение каталога в переменной в начале скрипта, а затем использовать его cd
в конце скрипта, чтобы вернуться к этому оригинальный каталог.
Или вы могли бы, как это было предложено @ alroc это в своем комментарии, используйте push-location
и pop-location
командлеты для хранения и получить текущее местоположение.
push-location
перед импортомsqlps
иpop-location
после импорта, и все готово.это, кажется, работает для меня:
источник
Просто введите
C:
в командной строке, чтобы вернуться к обычному (например, C: \>) приглашению.Просто для информации то, что могло вызвать приглашение SMO (то есть PS SQLSERVER:> ) из обычного приглашения C: \> , - это когда вы загружаете сборку SMO без Out-Null (out-null подавляет вывод, возвращаемый командлетом ).
Другими словами, чтобы избежать непреднамеренного входа в приглашение SMO при загрузке сборки SMO, просто передайте Out-Null, как показано ниже:
Поскольку Microsoft устарела в методе LoadWithPartialName () , используйте вместо этого Add-Type :
Примечание: чтобы получить путь к вашей сборке / dll - используйте метод GetAssemblies (), как показано ниже:
НТН.
источник