我的网络共享(\server\dir\my.ps1)上有一个 powershell 脚本。
如果我从命令提示符运行它(powershell -file“\server\dir\my.ps1”)则按预期工作。
如果我在调度程序中创建一个基本任务并设置“仅在用户登录时运行”,那么它就会按预期工作。
如果选中“无论用户是否登录都运行”,则脚本将不会运行
在操作选项卡中:程序/脚本--> powershell; 参数:-file“ \ server \ dir \ my.ps1”
- 在任务历史记录中我看到任务运行良好...但是脚本什么也没做......
该用户是普通用户
如果我将用户更改为管理员,那么一切都会按预期工作......
是否可以使用“无论用户是否登录都运行”的方式让普通用户运行计划任务?
#所以我做了一些测试:
在 PS 文件中我放入了这个脚本:
测试连接 -ComputerName SBS | 输出文件“c:\script\test.txt”$olSession = (New-Object -ComObject Outlook.Application).Session $olSession.Logon('Outlook') $contactsFolder = 10 $elemek = $olSession.GetDefaultFolder($contactsFolder).Items @($elemek)|ForEach-Object {$_.Delete()}
- 第一行按预期运行(无论用户是否登录)
- 其余线路没有运行
- 如果我将此行粘贴到 cmd 则一切都按预期运行
- 如果我将设置更改为“仅当用户登录时运行”,则每一行都会按预期运行
- 如果我授予用户管理员权限,则注销后一切都会按预期运行......
所以我的 Outlook 会话线路有些问题...我不明白...