Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 如何使用batch/cmd启动PS脚本文件?_Powershell_Batch File_Cmd_Scheduled Tasks - Fatal编程技术网

Powershell 如何使用batch/cmd启动PS脚本文件?

Powershell 如何使用batch/cmd启动PS脚本文件?,powershell,batch-file,cmd,scheduled-tasks,Powershell,Batch File,Cmd,Scheduled Tasks,我有一个powershell脚本文件(在Win10上是PS5),它允许我在执行时更改为特定的墙纸。只有当我有管理员权限时,我才能这样做。 有很多解决方法,比如制作一个.bat文件 powershell.exe -executionpolicy bypass -windowstyle hidden -noninteractive -nologo -file "C:\Users\name\wallp1.ps1" 但这种方法似乎会永久性地将执行策略更改为不受限制的,这确实是不安全的 我想要的是能够通

我有一个powershell脚本文件(在Win10上是PS5),它允许我在执行时更改为特定的墙纸。只有当我有管理员权限时,我才能这样做。 有很多解决方法,比如制作一个.bat文件

powershell.exe -executionpolicy bypass -windowstyle hidden -noninteractive -nologo -file "C:\Users\name\wallp1.ps1"
但这种方法似乎会永久性地将执行策略更改为不受限制的,这确实是不安全的 我想要的是能够通过TaskScheduler执行一个PS脚本(它必须通过那个而不是通过Startup文件夹)。我希望能够在特定时间更改墙纸,并且只有任务调度器可以这样做。除非我可以用命令或批处理文件来完成

简言之:我希望通过另一个文件运行PS脚本,而不会影响当前的执行策略

其他方法似乎不起作用:


或者,在PS脚本运行后,是否有一种方法可以恢复到默认执行策略?必须在一个文件中自动执行此操作,使用您提供的启动命令不会永久更改主机上的执行策略。使用PS5在Win10上测试


您好,但该方法似乎会永久性地将执行策略更改为“无限制”,我不这么认为。但每次我打开PowerShell(常规和作为管理员)并键入get-ExecutionPloice-list时,它总是列为“无限制”。嗯,您的命令会临时将其设置为“绕过”。尝试将其永久设置为
RemoteSigned
,例如(作为管理员),然后再次使用您的快捷方式。我认为RemoteSigned只允许执行已签名的脚本?感谢您的帮助,我的笔记本电脑似乎出了问题。桌面像往常一样返回远程签名