在Windows操作系统中,系统服务(Services)、计划任务(Scheduled Tasks)以及很多系统调用都是以SYSTEM系统账号进行操作的。用 net use 挂载,或者在文件管理器上直接挂载,挂载卷是以 Administrator 身份进行挂载的,而 SYSTEM 账号无法使用 Administrator 挂载的文件卷。以下是解决方案:
ECHO ON ECHO This will map the drive, but is being run by task scheduler AS the user SYSTEM ECHO which should make it accessible to the user SYSTEM ECHO List the existing drives first. if not exist G:\ ( net use Z: \\DESKTOP-1UQP8C5\test /user:share pingxingyun1 ECHO %Date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% >> C:\MapNetworkDrive.log net use >> C:\MapNetworkDrive.log ) else ( ECHO %Date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% >> C:\MapNetworkDrive.log ECHO "exist G:\" >> C:\MapNetworkDrive.log net use >> C:\MapNetworkDrive.log ) ECHO See what user this batch job ran under whoami >> C:\MapNetworkDrive.log ECHO need to exit to allow the job to finish EXIT