Add-PSSnapin
Добавляет одну или несколько оснастки Windows PowerShell в текущий сеанс.
Синтаксис
Add-PSSnapin
[-Name] <String[]>
[-PassThru]
[<CommonParameters>]
Описание
Командлет add-PSSnapin добавляет зарегистрированные оснастки Windows PowerShell в текущий сеанс. После добавления оснастки можно использовать командлеты и поставщики, которые поддерживают оснастки в текущем сеансе.
Чтобы добавить оснастку во все будущие сеансы Windows PowerShell, добавьте команду Add-PSSnapin в профиль Windows PowerShell. Дополнительные сведения см. в about_Profiles.
Начиная с Windows PowerShell 3.0 основные команды, включенные в Windows PowerShell, упаковываются в модули.
Исключением является Microsoft.PowerShell.Core, которая является оснасткой (PSSnapin).
По умолчанию в сеанс добавляется только оснастка Microsoft.PowerShell.Core
Примеры
Пример 1. Добавление оснастки
PS C:\> Add-PSSnapIn -Name Microsoft.Exchange, Microsoft.Windows.AD
Эта команда добавляет оснастки Microsoft Exchange и Active Directory в текущий сеанс.
Пример 2. Добавление всех зарегистрированных оснастки
PS C:\> Get-PSSnapin -Registered | Add-PSSnapin -Passthru
Эта команда добавляет все зарегистрированные оснастки Windows PowerShell в сеанс.
Он использует командлет Get-PSSnapin с параметром зарегистрированного
Пример 3. Регистрация оснастки и его добавление
The first command gets snap-ins that have been added to the current session that include the snap-ins that are installed with Windows PowerShell. In this example, ManagementFeatures is not returned. This indicates that it has not been added to the session.
PS C:\> Get-PSSnapin
The second command gets snap-ins that have been registered on your system, which includes those that have already been added to the session. It does not include the snap-ins that are installed with Windows PowerShell. In this case, the command does not return any snap-ins. This indicates that the ManagementFeatures snapin has not been registered on the system.
PS C:\> Get-PSSnapin -Registered
The third command creates an alias, installutil, for the path of the InstallUtil tool in .NET Framework.
PS C:\> Set-Alias installutil $env:windir\Microsoft.NET\Framework\v2.0.50727\installutil.exe
The fourth command uses the InstallUtil tool to register the snap-in. The command specifies the path of ManagementCmdlets.dll, the file name or module name of the snap-in.
PS C:\> installutil C:\Dev\Management\ManagementCmdlets.dll
The fifth command is the same as the second command. This time, you use it to verify that the ManagementCmdlets snap-in is registered.
PS C:\> Get-PSSnapin -Registered
The sixth command uses the **Add-PSSnapin** cmdlet to add the ManagementFeatures snap-in to the session. It specifies the name of the snap-in, ManagementFeatures, not the file name.
PS C:\> add-pssnapin ManagementFeatures
To verify that the snap-in is added to the session, the seventh command uses the *Module* parameter of the Get-Command cmdlet. It displays the items that were added to the session by a snap-in or module.
PS C:\> Get-Command -Module ManagementFeatures
You can also use the **PSSnapin** property of the object that the **Get-Command** cmdlet returns to find the snap-in or module in which a cmdlet originated. The eighth command uses dot notation to find the value of the PSSnapin property of the Set-Alias cmdlet.
PS C:\> (Get-Command Set-Alias).pssnapin
В этом примере демонстрируется процесс регистрации оснастки в системе, а затем его добавление в сеанс. Он использует ManagementFeatures, вымышленный оснастки, реализованный в файле, который называется ManagementCmdlets.dll.
Параметры
-Name
Указывает имя оснастки. Это имя, а не имя сборки или имя модуля. Разрешены подстановочные знаки.
Чтобы найти имена зарегистрированных оснастки в системе, введите Get-PSSnapin -Registered
.
Тип: | String[] |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-PassThru
Указывает, что этот командлет возвращает объект, представляющий каждую добавленную оснастку. По умолчанию этот командлет не создает выходные данные.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
None or System.Management.Automation.PSSnapInInfo
Этот командлет возвращает объект PSSnapInInfo, представляющий оснастку, если указать параметр PassThru. В противном случае этот командлет не создает выходные данные.
Примечания
Начиная с Windows PowerShell 3.0 основные команды, установленные с Windows PowerShell, упаковываются в модули. В Windows PowerShell 2.0 и в ведущих программах, которые создают сеансы более старых стилей в более поздних версиях Windows PowerShell, основные команды упаковываются в оснастки (PSSnapins). Исключением является Microsoft.PowerShell.Core, которая всегда является оснасткой. Кроме того, удаленные сеансы, такие как запущенные командлетом New-PSSession, являются более старыми сеансами, включающими основные оснастки.
Сведения о методе CreateDefault2, который создает сеансы нового стиля с основными модулями, см. в Метод CreateDefault2 в библиотеке MSDN.
Дополнительные сведения о оснастках см. в статье about_PSSnapins и Создание оснастки Windows PowerShell в библиотеке MSDN.
add-PSSnapin добавляет оснастку только к текущему сеансу. Чтобы добавить оснастку ко всем сеансам Windows PowerShell, добавьте его в профиль Windows PowerShell. Дополнительные сведения см. в about_Profiles.
Вы можете добавить любую оснастку, зарегистрированную с помощью программы установки Microsoft .NET Framework. Дополнительные сведения см. в разделе Регистрация командлетов, поставщиков и ведущих приложений в библиотеке MSDN.
Чтобы получить список оснастки, зарегистрированных на компьютере, введите
Get-PSSnapin -Registered
.Перед добавлением оснастки Add-PSSnapin проверяет версию оснастки, чтобы убедиться, что она совместима с текущей версией Windows PowerShell. Если оснастка завершается ошибкой проверки версии, Windows PowerShell сообщает об ошибке.