📜  如何卸载所有 powershell 模块 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:24:05.239000             🧑  作者: Mango

如何卸载所有 PowerShell 模块

当我们在 PowerShell 中安装了很多模块后,可能会出现需要卸载所有模块的情况,这时可以使用以下方法来一次性卸载所有模块。

方法一:使用 PowerShell Gallery 的命令
  1. 打开 PowerShell,使用管理员身份运行。

  2. 输入以下命令以显示所有已安装的模块:

    Get-Module -ListAvailable
    

    返回结果示例:

    ModuleType Version    Name                                ExportedCommands
    ---------- -------    ----                                ----------------
    Script     2.0.0      Azure                               {Get-​Azure​VM, Get-​Azure​StorageContainer...
    Script     1.7.0.0    AzureRM.Profile                     {Add-​Azure​RmAccount, Clear-​Azure​RmContex...
    Binary     2.1.3.0    PackageManagement                   {Find-​Package, Get-​Package, Get-​Package...
    Binary     1.0.0.1    PowerShellGet                       {Find-​Module, Get-​Installed​Script, Impo...
    
  3. 使用以下命令卸载所有已安装的模块:

    Get-Module -ListAvailable | Uninstall-Module -Force
    

    如果某些模块有依赖关系,需要输入 Y 来确认卸载。

  4. 输入以下命令以确认已卸载所有模块:

    Get-Module -ListAvailable
    

    此时应该不会返回任何模块了。

方法二:手动删除模块文件夹
  1. 打开 PowerShell,使用管理员身份运行。

  2. 在 PowerShell 中输入以下命令,找到已安装模块的文件夹路径:

    $env:PSModulePath -split ';'
    

    返回结果示例:

    C:\Users\User\Documents\WindowsPowerShell\Modules
    C:\Program Files\WindowsPowerShell\Modules
    
  3. 关闭 PowerShell,打开资源管理器,进入以上命令返回的文件夹路径。

  4. 选中所有模块文件夹,右键删除即可。

注意:手动删除模块文件夹的方法不会自动卸载与该模块相关的 PowerShell cmdlet。如果您使用了某个模块的 cmdlet,那么删除该模块可能会导致某些命令失效。因此,最好先使用方法一备份并卸载所有模块,再使用方法二手动删除相关的模块文件夹。