我正在尝试使用 SCCM 运行批处理文件,将文件从应用程序部署复制到机器的 %public%/desktop 文件夹,但在运行时出现“访问被拒绝”错误。
脚本本身如下所示:
copy \\SCCMfqdn\DeployApp\fm-launcher\FM-Launcher.fmp12 %public%\desktop\Launcher.blah /Y
ECHO OFF
echo YOUR LAUNCHER FILE HAS BEEN COPIED
pause
exit
我收到的错误就在“Echo Off”之前,它显示“访问被拒绝”。如果我以管理员身份运行脚本,它会成功完成。
有什么方法可以完成我想做的事情吗?使用组策略脚本会更好吗?(我想它会有同样的错误?)
谢谢你的帮助!
更新:根据下面的评论,脚本似乎必须以管理员身份运行才能复制到公共桌面。有没有办法用 /runas 之类的东西来编写脚本?我看到了用户规范的标志,但没有看到密码的标志?
答案1
通过 SCCM 部署的包和脚本将使用 NT AUTHORITY\SYSTEM 帐户在终端节点上运行。该帐户在运行它的本地计算机上具有绝对权限。
在此帐户下运行的一个含义是 NT AUTHORITY\SYSTEM 通常没有权限访问其他联网设备或位置。
可以通过添加“域计算机”权限来访问此目录来解决此问题。(请不要添加“所有人”)
欲了解更多详情,您可以查看这个答案详细说明 NT Authority\SYSTEM 和 SCCM 的使用。
答案2
也许使用网络可能会有帮助
NET USE \\SCCMfqdn\DeployApp\fm-launcher\ /u:server\user *password*
copy \\SCCMfqdn\DeployApp\fm-launcher\FM-Launcher.fmp12 %public%\desktop\Launcher.blah /Y