![](/img/trans.png)
[英]Windows Task Scheduler — Fails to run Powershell Scripts
[英]Powershell scripts not working properly when run by task scheduler
我正在建立一个主要用于通过任务调度程序运行脚本的 Windows Server 2019 系统。 在 2016 2012 服务器上运行的脚本在新服务器上不再运行之前。 我已经编写了简单的脚本来查看哪些具体不起作用,并想知道是否有人以前见过这个。
test-wsman $DFSIPADDRESS | tee-object -variable test | out-file errortest.log
$test | out-file \\$DFSIPADDRESS\my\personal\share\wsmantest.log
$error | out-file errortest.log
错误输出表明用户“没有被授予在这台计算机上请求的登录类型”。 用于输出到 DFS 的文件。 如果我在 ISE 中运行与用户相同的脚本,它工作正常。 如果我通过任务调度程序运行脚本但要求用户登录它也可以工作。
该用户是域用户并且在本地管理员组中。 我已经为用户验证了批量登录。
我已经验证了批量登录。 当脚本通过任务调度程序运行时,就好像用户没有获得域访问权限,但仍然具有本地管理员权限。
任何想法将不胜感激。
有几个可能导致此错误的罪魁祸首。 如果您可以手动访问与该用户的文件共享,则前三个不太可能:
LogonWorkstations
属性,限制了其远程连接的能力。Allow Log On Locally
策略设置为特定用户。Access this computer from the network
设置为特定用户继续检查这些:
Log on as a batch job
,你提到你已经检查过(如果你改变了这个,请确保你已经重新启动)。 验证域组策略与可能覆盖您的设置的本地组策略之间没有差异。Do not store password
选项。 还尝试创建一个非常基本的任务,以该用户身份only run while user is logged in
,设置为only run while user is logged in
,使用类似这样的内容来查看它是否连接成功:
Action: Powershell.exe
Args: -c "Hello" | Out-File \\server\share\hello.txt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.