是否可以通过任何方式从 Vista 卸载 PowerShell?

Sam*_*mir 8 uninstall windows-vista powershell command-line

是否可以通过任何方式从 Windows Vista 中卸载 PowerShell?

  • 开始/所有程序下没有卸载选项。
  • 它的开始菜单组实际上位于附件下,一开始很难找到。
  • 没有卸载程序。
  • 它不会出现在添加/删除程序列表(程序和功能)中。
  • 它实际上隐藏在已安装的更新窗口中。
  • 它未在“已安装的更新”窗口中列为“PowerShell”。它实际上被命名为“管理框架核心”。

为什么我需要删除它

我需要删除它的原因是因为 Windows Vista 安装程序要求我先删除 PowerShell,然后才能对 Windows 进行修复安装。

(点击图片查看大图。)

小1 小2

小3 小4

到目前为止我所做的

卸载 KB968930 aka Management Framework Core aka PowerShell

我显然尝试从控制面板中的程序和功能窗口卸载它。但它实际上只能作为来自已安装更新窗口的更新访问。

  1. 控制面板
  2. 程序(或“卸载程序”)
  3. 程序和特点
  4. 单击左侧的“查看已安装的更新”链接。
  5. 在搜索字段中输入“KB968930”。
  6. 从搜索结果中选择“Windows Management Framework Core (KB968930)”。
  7. 单击卸载按钮。
  8. “您确定要卸载此更新吗?” 单击是。
  9. “正在卸载更新,请稍候。这可能需要几分钟时间。”
  10. “发生错误。并非所有更新都已成功卸载。”

小1 小2

小3 小4

这并没有解决问题。

注册表更改,取得文件夹的所有权和重命名

接下来,我尝试更改以下注册表项。

FROM THIS:

Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1
Value: Install
Type: Reg_Dword
Data: 0

TO THIS:

Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1
Value: Install
Type: Reg_Dword
Data: 1
Run Code Online (Sandbox Code Playgroud)

然后我开始提升 cmd 提示符并用它来获得 PowerShell 目录的所有权。

C:\Windows\system32>takeown /f %windir%\system32\windowspowershell

SUCCESS: The file (or folder): "C:\Windows\system32\windowspowershell" now owned
 by user "computername\username".

C:\Windows\system32>cacls %windir%\system32\windowspowershell /G administrators:
F
No mapping between account names and security IDs was done.

C:\Windows\system32>icacls %windir%\system32\windowspowershell /G administrators
:F
Invalid parameter "/G"

C:\Windows\system32>cacls %windir%\system32\windowspowershell /G administrators:
F
No mapping between account names and security IDs was done.

C:\Windows\system32>icacls %windir%\system32\windowspowershell /grant administra
tors:F
administrators: No mapping between account names and security IDs was done.
Successfully processed 0 files; Failed processing 1 files

C:\Windows\system32>
Run Code Online (Sandbox Code Playgroud)

我不确定是否应该使用caclsoricacls命令,也不确定语法(任何输入?)。但无论如何!我现在是目录的所有者,我可以重命名它。

  1. 赢+R
  2. C:\Windows\System32\
  3. 将“WindowsPowerShell”重命名为“WindowsPowerShellOld”

所以路径现在是 C:\Windows\System32\WindowsPowerShellOld。PowerShell 现在“有点”被禁用,即开始菜单上的快捷方式现在不工作,直接从C:\Windows\System32\WindowsPowerShellOld\v1.0显示 cmd 的命令提示符,黑色背景和几个红色的错误行说“找不到文件”。

小的

但主要问题仍未解决。我仍然无法修复 Windows 的安装。安装程序仍然报告 PowerShell 已安装。

所以......有什么聪明的想法吗?我还可以做些什么?

现在唯一剩下的就是重新安装 Windows。

Sam*_*mir 5

解决了!

不要忘记重命名 64 位文件夹中的 PowerShell 文件夹!我认为这成功了。

  1. 赢+R
  2. C:\Windows\System32
  3. 进入
  4. 将“WindowsPowerShell”重命名为“WindowsPowerShellOld”。
  5. 赢+R
  6. C:\Windows\SysWOW64
  7. 进入
  8. 将“WindowsPowerShell”重命名为“WindowsPowerShellOld”。

如果您收到任何 UAC 提示,只需单击以确认或在需要时提供密码,如果您收到有关执行这些操作的任何警告,请单击继续。

您绝对应该先尝试卸载 KB968930(如上所述),看看是否有效。如果像我一样在卸载它时遇到任何错误,或者如果 Windows 安装程序仍然说即使在删除 KB968930 后仍需要卸载 PowerShell 才能继续,请尝试重命名这些文件夹。

我建议您首先跳过注册表技巧,并跳过获取这些文件夹的所有权。只需直接转到 Windows 资源管理器中的文件夹并尝试按上述方式重命名它们。如果您无法重命名它们,请继续更改注册表(如上所述)并取得这些文件夹的所有权。

或者,您可以将文件夹重命名为“WindowsPowerShell2”。不知道这对它有没有影响。真的不应该。这实际上是我上次使用的假名。但我认为真正重要的是重命名 C:\Windows\SysWOW64 中的文件夹。