Поделиться через


Remove-Module

Удаляет модули из текущего сеанса.

Синтаксис

Remove-Module
      [-Name] <String[]>
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-Module
      [-FullyQualifiedName] <ModuleSpecification[]>
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-Module
      [-ModuleInfo] <PSModuleInfo[]>
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Описание

Командлет Remove-Module удаляет члены модуля, например командлеты и функции, из текущего сеанса.

Если модуль содержит сборку (DLL), все члены, реализованные в этой сборке, удаляются, но сборка не выгружается.

Командлет не деинсталлирует модуль и не удаляет его с компьютера. Это влияет только на текущий сеанс PowerShell.

Примеры

Пример 1. Удаление модуля

Remove-Module -Name "BitsTransfer"

Эта команда удаляет модуль BitsTransfer из текущего сеанса.

Пример 2. Удаление всех модулей

Get-Module | Remove-Module

Эта команда удаляет все модули из текущего сеанса.

Пример 3. Удаление модулей с помощью конвейера

"FileTransfer", "PSDiagnostics" | Remove-Module -Verbose

VERBOSE: Performing operation "Remove-Module" on Target "filetransfer (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\filetransfer\filetransfer.psd1')".
VERBOSE: Performing operation "Remove-Module" on Target "Microsoft.BackgroundIntelligentTransfer.Management (Path: 'C:\Windows\assembly\GAC_MSIL\Microsoft.BackgroundIntelligentTransfer.Management\1.0.0.0__31bf3856ad364e35\Microsoft.BackgroundIntelligentTransfe
r.Management.dll')".
VERBOSE: Performing operation "Remove-Module" on Target "psdiagnostics (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\psdiagnostics\psdiagnostics.psd1')".
VERBOSE: Removing imported function 'Start-Trace'.
VERBOSE: Removing imported function 'Stop-Trace'.
VERBOSE: Removing imported function 'Enable-WSManTrace'.
VERBOSE: Removing imported function 'Disable-WSManTrace'.
VERBOSE: Removing imported function 'Enable-PSWSManCombinedTrace'.
VERBOSE: Removing imported function 'Disable-PSWSManCombinedTrace'.
VERBOSE: Removing imported function 'Set-LogProperties'.
VERBOSE: Removing imported function 'Get-LogProperties'.
VERBOSE: Removing imported function 'Enable-PSTrace'.
VERBOSE: Removing imported function 'Disable-PSTrace'.
VERBOSE: Performing operation "Remove-Module" on Target "PSDiagnostics (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\psdiagnostics\PSDiagnostics.psm1')".

Эта команда удаляет модули BitsTransfer и PSDiagnostics из текущего сеанса.

Имена модулей отправляются в командлет Remove-Module с помощью конвейерного оператора (|). Для получения подробной информации об удаляемых членах модуля используется общий параметр Verbose.

В подробных сообщениях отображаются удаленные элементы. Сообщения различаются, поскольку модуль BitsTransfer включает сборку, реализующую его командлеты, и вложенный модуль с его собственной сборкой. Модуль PSDiagnostics включает файл скрипта модуля (PSM1), который экспортирует функции.

Пример 4. Удаление модуля с помощью ModuleInfo

$a = Get-Module BitsTransfer
Remove-Module -ModuleInfo $a

Эта команда использует параметр ModuleInfo для удаления модуля BitsTransfer.

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Указывает, что этот командлет удаляет модули только для чтения. По умолчанию командлет Remove-Module удаляет только модули, предназначенные и для чтения, и для записи.

Значения ReadOnly и ReadWrite хранятся в свойстве модуля AccessMode.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FullyQualifiedName

Указывает полные имена удаляемых модулей.

Type:ModuleSpecification[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ModuleInfo

Задает объекты модулей, которые нужно удалить. Введите переменную, содержащую объект модуля (PSModuleInfo) или команду, которая получает объект модуля, например команду Get-Module. Объекты модулей можно также передать в командлет Remove-Module по конвейеру.

Type:PSModuleInfo[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Задает имена модулей, которые нужно удалить. Можно использовать подстановочные знаки. Строки с именами модулей можно также передать в командлет Remove-Module по конвейеру.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

System.String, System.Management.Automation.PSModuleInfo

Имена модулей и объекты модуля можно передать в Командлет Remove-Module.

Выходные данные

None

Этот командлет не формирует никаких выходных данных.