Remove-Module

从当前会话中删除模块。

语法

name

Remove-Module
    [-Name] <String[]>
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

FullyQualifiedName

Remove-Module
    [-FullyQualifiedName] <ModuleSpecification[]>
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ModuleInfo

Remove-Module
    [-ModuleInfo] <PSModuleInfo[]>
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

Remove-Module cmdlet 从当前会话中删除模块(如 cmdlet 和函数)的成员。

如果模块包含程序集(.dll),则删除程序集实现的所有成员,但不会卸载该程序集。

此 cmdlet 不会卸载该模块,也不会从计算机中删除它。 它仅影响当前的 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 模块包含一个程序集,该程序集实现其 cmdlet 和具有其自己的程序集的嵌套模块。 PSDiagnostics 模块包含导出函数的模块脚本文件 (.psm1)。

示例 4:使用 ModuleInfo 删除模块

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

此命令使用 ModuleInfo 参数删除 BitsTransfer 模块。

参数

-Confirm

在运行 cmdlet 之前,提示你进行确认。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Force

指示此 cmdlet 删除只读模块。 默认情况下,Remove-Module 仅删除读写模块。

ReadOnlyReadWrite 值存储在模块的 AccessMode 属性中。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-FullyQualifiedName

指定要删除的模块的完全限定名称。

参数属性

类型:

ModuleSpecification[]

默认值:None
支持通配符:False
不显示:False

参数集

FullyQualifiedName
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ModuleInfo

指定要删除的模块对象。 输入包含模块对象(PSModuleInfo)或获取模块对象的命令(如 Get-Module 命令)的变量。 还可以通过管道将模块对象传递给 Remove-Module

参数属性

类型:

PSModuleInfo[]

默认值:None
支持通配符:False
不显示:False

参数集

ModuleInfo
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Name

指定要删除的模块的名称。 允许使用通配符。 还可以通过管道将名称字符串传递给 Remove-Module

参数属性

类型:

String[]

默认值:None
支持通配符:True
不显示:False

参数集

name
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

System.String, System.Management.Automation.PSModuleInfo

可以通过管道将模块名称和模块对象传递给 Remove-Module

输出

None

此 cmdlet 将不生成任何输出。