繁体   English   中英

由任务调度程序运行时,Powershell 脚本无法正常工作

[英]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 中运行与用户相同的脚本,它工作正常。 如果我通过任务调度程序运行脚本但要求用户登录它也可以工作。

该用户是域用户并且在本地管理员组中。 我已经为用户验证了批量登录。

我已经验证了批量登录。 当脚本通过任务调度程序运行时,就好像用户没有获得域访问权限,但仍然具有本地管理员权限。

任何想法将不胜感激。

有几个可能导致此错误的罪魁祸首。 如果您可以手动访问与该用户的文件共享,则前三个不太可能:

  • AD 用户设置了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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM