Remove-Module
删除当前会话中的模块。
语法
Remove-Module [-ModuleInfo] <PSModuleInfo[]> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-Module [-Name] <string[]> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]
说明
Remove-Module cmdlet 将模块的成员从当前会话中删除。
如果模块包含程序集 (.dll),则将删除由该程序集实现的所有成员,但不会卸载该程序集。
参数
-Force
即使模块的访问模式为只读,也将删除模块。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-ModuleInfo <PSModuleInfo[]>
指定要删除的模块对象。输入包含模块对象 (PSModuleInfo) 的变量或者用来获取模块对象的命令(如 Get-Module 命令)。还可将模块对象通过管道传递给 Remove-Module。
是否为必需? |
true |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
true (ByValue) |
是否接受通配符? |
false |
-Name <string[]>
指定要删除的模块的名称。允许使用通配符。还可以将名称字符串通过管道传送到 Remove-Module。
是否为必需? |
true |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
true (ByValue) |
是否接受通配符? |
true |
-Confirm
在执行命令之前提示您进行确认。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-WhatIf
描述如果执行该命令会发生什么情况(无需实际执行该命令)。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
System.String, System.Management.Automation.PSModuleInfo 可将模块名称(字符串)和模块对象通过管道传送到 Remove-Module。 |
输出 |
无 Remove-Module 不生成任何输出。 |
说明
还可以使用别名“rmo”来引用 Remove-Module。有关详细信息,请参阅 about_Aliases。
示例 1
C:\PS>remove-module -name BitsTransfer
说明
-----------
此命令将 BitsTransfer 模块从当前会话中删除。
示例 2
C:\PS>get-module | remove-module
说明
-----------
此命令将所有模块从当前会话中删除。
示例 3
C:\PS>"FileTransfer", "PSDiagnostics" | remove-module -verbose
VERBOSE: Performing operation "Remove-Module" on Target "filetransfer (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\f
iletransfer\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')".
说明
-----------
此命令将 FileTransfer 和 PSDiagnostics 模块从当前会话中删除。
此命令使用管道运算符 (|) 将模块名称发送到 Remove-Module。它使用 Verbose 通用参数来获取关于要删除的成员的详细信息。
Verbose 消息显示所删除的项。这些消息会有所不同,因为 BitsTransfer 模块包含一个实现其 cmdlet 的程序集,还包含一个拥有自己的程序集的嵌套模块。PSDiagnostics 模块包含用于导出函数的模块脚本文件 (.psm1)。
示例 4
C:\PS>$a = get-module BitsTransfer
C:\PS> remove-module -moduleInfo $a
说明
-----------
此命令使用 ModuleInfo 参数来删除 BitsTransfer 模块。