Powershell имеет два средства для импорта дополнительных командлетов в сеанс: Add-PsSnapIn и Import-Module. В документах совсем не ясно, когда можно выбрать одно из них. Кто-нибудь знает разницу между ними?
В чем разница между Add-PsSnapIn и Import-Module
Ответы (5)
Модули появились в PowerShell V2. V2 все еще может загружать Snapins, если это необходимо. Большая разница в том, что модули можно развертывать с помощью Xcopy. Регистрировать ничего не нужно. Чтобы развернуть Snapin, установщик должен будет взломать реестр, что потребует повышенных привилегий. Чтобы загрузить модуль, вам просто нужно использовать команду Import-Module.
Модули могут иметь гораздо больше метаданных с использованием манифеста модуля, который может указывать все виды вещей, которые могут быть полезны для конечного пользователя, включая версию, зависимости от других модулей и то, какие хосты PowerShell могут запускать модуль.
При этом, если вы пишете двоичный модуль на C # или VB, вы по-прежнему используете тот же базовый класс PSSnapin.
Чтобы получить больше информации, загляните
PS > help about_modules
В версии 2 модули являются предпочтительным способом организации командлетов, поставщиков, функций, псевдонимов и других команд, которые вы создаете. Вы не устанавливаете модуль. Вы просто импортируете модуль в сеанс PowerShell с помощью командлета Import-Module.
AFAIK, оснастка PowerShell - это скорее подход v1. В MS все еще есть несколько команд, создающих снапины вместо модулей. Например, командлеты SharePoint 2010. Оснастки PowerShell - это двоичные файлы (.dll), которые реализуют командлеты и поставщиков. Вам необходимо установить оснастку, а затем добавить командлеты в оснастке в сеанс PowerShell с помощью командлета Add-PSSnapin.
%USERPROFILE%\Documents
, либо в глобальной для машины в %WINDIR%\system32\WindowsPowerShell\v1.0\Modules
.
- person Alexey; 20.11.2014
PSSnapin предоставляет способ защиты ваших сборок путем установки библиотек DLL в защищенный каталог по сравнению с модулем, который можно воспроизвести, просто заменив файлы.
Ссылка: Ссылка MSDN для PSSnapin
Add-PSSnapin
и Import-Module
используются для получения внешних сторонних библиотек (файлов сценариев / двоичных файлов / dll) в текущем сеансе PowerShell. Модули использовать немного проще, чем PSSnapins.
Основное преимущество модуля над PSSnapin заключается в том, что мы не можем удалить или выгрузить PSSnapin из текущего сеанса PowerShell после его добавления. Но модули можно удалить из текущего сеанса PowerShell вручную, используя Remove-Module
ПРИМЕЧАНИЕ. Концепция PSSnapin, представленная в PS версии 1.0, и модуль, представленный в PS версии 2.0.
Ссылка: - Это
import-module webadministration
источник: powershell.com/cs/forums/t/8209.aspx - person northben   schedule 16.11.2012