第一种方法

第一种方法

这很奇怪,我不确定这是不是一个错误或者其他什么,但这是我的想法

第一种方法

当我进入 Powershell 时,正常方法如下

Press "Start" > type "powershell" > then hit enter

它会加载我的用户会话,该会话位于~/Documents/WindowsPowerShell/profile.ps1

在此处输入图片描述

第二种方法

它加载了另一个会话,我完全不明白……

Press [Windows key] + [E] > enter to a folder > in the top bar type "powershell"

并且它会加载另一个配置,我以为唯一的管理员是我,是否有像 unix 系统那样的 root 用户? 在此处输入图片描述

在此处输入图片描述

所以这是我的问题是:该怎么办runas /noprofile /user:myPCname\administrator Set-ExecutionPolicy Bypass?因为每次我尝试都做不到。

在此处输入图片描述

我想执行该命令,因为自从我激活了开发者模式后,Windows 处于“安全模式”,只允许运行签名的脚本。
我可以通过以管理员身份运行 powershell 轻松地在我的用户中更改它,但使用第二种方法我不能,而且我想这样做,因为每次我运行工具它运行相同的“第二种方法”,不允许我做任何事情。
有没有办法通过控制台更改执行策略?请帮帮我!

更新

只需使用 Windows 终端

答案1

输入whoami以查看您当前正在使用哪个用户。您也可以按照以下建议来了解这一点确定已安装的 PowerShell 版本。查看$PSVersionTable和的输出Get-Host以查看它们是否不同。您还可以检查$Profile正在加载哪些配置文件(参见:Windows PowerShell 配置文件及其评论)。

至于您的“runas”问题,您需要告诉它实际使用该命令运行 PowerShell。因此它将类似于PowerShell -Command {Set-ExecutionPolicy Bypass}。RunAs 旨在运行应用程序而不是单个命令。

至于使用控制台更改执行策略,请以管理员身份运行 PowerShell 并使用Set-ExecutionPolicycmdlet。默认情况下,范围应为机器。否则,请使用-Scope参数进行相应更改。

答案2

如果您在交互式控制台中调用Set-ExecutionPolicy,它将更改关联的注册表项,并且只需运行一次(除非您有一个可以更改计算机中该配置的 GPO)。如果它出现错误,可能是因为它没有提升或您没有管理员权限,但您仍然可以运行类似的命令Set-ExecutionPolicy Bypass -Scope CurrentUser,它会起作用。或者,您可以使用 ExecutionPolicy 参数调用 powershell,如下所示:powershell -ExecutionPolicy Bypass

请记住,如果您使用 runas,则必须使用引号调用该命令:(runas /user:USER "powershell -ExecutionPolicy Bypass"但无论如何您都可以运行runas /user:USER powershell然后调用Set-ExecutionPolicy)。

相关内容