我试图用任务调度程序测试一个简单的PowerShell脚本,状态显示正在运行,但powershell控制台从未出现过 .
我的ps1脚本只包含两个简单的命令:
-
dir
-
暂停
这是我的设置:
General
-
运行用户是否登录(勾选)
-
以最高权限运行(检查)
Actions
-
操作:启动程序
-
程序/脚本:C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe
-
添加参数(可选): - file E:\ iQ_Schedule \ Untitled1.ps1
此设置适用于其他计算机(Windows 10),但不适用于此计算机(Windows Server 2012 R2) . 我不知道为什么 .
3 回答
这可能是由于运行脚本的用户帐户造成的 . 当脚本与SYSTEM帐户一起运行时,脚本将在后台运行 .
尝试将“当运行任务时使用以下用户帐户”选项更改为您当前登录的帐户 . 然后会弹出PowerShell控制台 .
欢迎来到Session 0隔离模式 .
使用“运行是否登录用户”运行任务时,它将在所谓的会话0中运行 . 您可以使用任务管理器进行检查 .
运行的任务是会话0限制显示用户界面
听起来像Windows Server 2012 R2可能有PSversion 2.在PSversion 3之前,
Pause
函数不存在 .你能告诉我们这个命令的 Value 吗?
Run whether user is logged on or not
,仍然会给你提示 . 如果选中“隐藏”选项,则不会看到提示 .我还看到尝试在任务计划程序中运行PowerShell脚本的用户无权访问文件夹结构 . 确保运行任务计划程序的用户有权访问
E:\iQ_Schedule\
.确保运行任务计划程序的用户对您尝试查找的文件结构具有读取权限 .