这很奇怪,我不确定这是不是一个错误或者其他什么,但这是我的想法
第一种方法
当我进入 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-ExecutionPolicy
cmdlet。默认情况下,范围应为机器。否则,请使用-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
)。