我搜索了全部,还没有找到答案。在RunOnce批处理文件中映射驱动器
我有一个脚本来为新的或重新映像的计算机设置用户帐户和Windows自定义设置。我通过RUNONCE注册表项映射驱动器,并且遇到问题。这个本地网络是一个工作组,而不是一个域,所有PC运行Win7Pro或Win10Pro。办公室经理的PC是本地文件服务器,我试图从其他计算机映射驱动器到它。
下面是我在遇到一个问题RUNONCE批处理文件的一部分:
:PROMPTFORPMHOSTNAME
ECHO This PC was identified during InitialSetup as a Leasing Office PC.
ECHO This PC's Host Name is %computername%.
ECHO.
SET /P PMHOSTNAME="Enter the Property Manager PC Hostname: "
:MAPDRIVE
ECHO - Map M Drive
NET USE M: /delete >nul 2>&1
NET USE M: \\%PMHOSTNAME%\Data >nul 2>&1
NET USE M: \\%PMHOSTNAME%\Data /user:%computername%\[username] [password] /persistent:yes
NET USE /persistent:yes >nul 2>&1
TIMEOUT /T 5 /NOBREAK >nul 2>&1
我的方案,最初的脚本使用本地管理员帐户创建通过NET USER用户帐户,然后将RUNONCE放入注册表中。重新启动后,我输入新创建的帐户,RUNONCE按计划运行。
问题是RUNONCE以管理员身份运行。所以当它映射驱动器时,它在管理员级而不是用户级执行。它表示该驱动器已成功映射,但不显示。
我可以通过在两个实例中运行CMD来复制这个事件,一次是admin,一次是用户。当我将驱动器映射为管理员时,它表示它已成功并且不会显示在资源管理器中。当我以用户的身份映射驱动器时,它成功并显示它应该。
所以我需要知道如何让RUNONCE以登录用户身份运行,以便正确映射。或者说明我在做什么错了,我错过了什么应该是显而易见的,只是没有给我目前的挫折感。 :P
非常感谢大家!我非常感谢你的帮助。 :)
如果你运行它没有重定向到NUL的任何errormessages,你会注意到一个错误消息,该驱动器号已经在使用中。你'净使用M:'两次! – Stephan
这是我的错。我正在修改Notepad +中的脚本。在我复制/粘贴到这里后,我忘了删除顶部的NET USE行。我的错。 :P – MaxKorban