在 Windows 10 中删除 3D Builder

在 Windows 10 中删除 3D Builder

我在以管理员身份运行的 PowerShell 中输入此内容来删除 3D Builder:

C:\Windows\System32>get-appxpackage *3dbuilder* | remove-appxpackage

它运行良好,但是我怎样才能在批处理文件中写入行来执行同样的事情?

答案1

这不起作用的原因是 PowerShell 脚本与批处理文件在内容和 Windows(默认情况下)处理方式方面都有很大的不同。

例如 - 如果您保存Write-Host $ENV:COMPUTERNAME到 PowerShell (.ps1) 文件并双击它 - 它很可能会在记事本中打开!

如果您确实想将这一行 PowerShell 命令放入批处理文件中 - 您需要将类似内容powershell.exe -command "get-appxpackage *3dbuilder* | remove-appxpackage"保存在批处理文件中。然后,您应该能够右键单击批处理文件并“以管理员身份运行”以获得所需的效果。

否则 - 如果您有一个 .ps1 PowerShell 脚本 - 您可以使用批处理文件调用它PowerShell.exe -File C:\Folder\script.ps1并从管理命令行运行它。

或者,你需要以管理员身份打开 PowerShell(或 ISE)并执行脚本(& C:\Folder\file.ps1

最后 - 您可以-verb RunAs在调用 PowerShell.exe 时使用开关尝试强制提升权限(如果需要),或者您可以在脚本中使用以下脚本块来提升会话权限(如果需要,可以使用 UAC 提示):

If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {  

  $arguments = "& '" + $myinvocation.mycommand.definition + "'"
   Start-Process powershell -Verb runAs -ArgumentList $arguments
   Break

}
###My Script Code Goes Here and will be executed if I am an administrator!

附注 - 您可以选择重新配置 Windows 以在 PowerShell 中打开 PowerShell 脚本的可怕方式和/或添加 Windows 上下文菜单以以管理员身份在 PowerShell 中运行 - 但这至少可以说是混乱和危险的。

相关内容