我现在有一个 logon.cmd 脚本,我用它来将网络驱动器映射到用户配置文件。它看起来像这样:
::Onboarding
net use m: /delete
net use m: \\BOB\onboarding
::Bookings
net use n: /delete
net use n: \\BOB\bookings
::Accounts
net use j: /delete
net use j: \\BOB\accounts
它工作正常,直到到达当前用户无法访问的文件夹,然后它要求输入用户名和密码,而不是出错并继续。
注意:这个脚本曾经在另一个 Samba PDC 网络上工作,但我已经将它移到另一个服务器(仍然是 Samba PDC),现在它坏了。
无论如何,它是否可以忽略用户名/密码提示并继续?
我一直没能找到解决问题的有限方法。但是一个可用的(但非常 hacky 和不干净的)变通方法是使用这个命令:
基本解释:它首先通过复制一个空白文件.writable来检查文件夹是否可写,如果成功则执行命令,如果失败则跳过命令并继续。
这纯粹是一种解决方法......
扩展 Mattisdada 的答案,该脚本将使通过简单地添加、删除或更改
mapDrive
函数调用来修改任何驱动器映射变得更容易一些。DIR
此外,此函数通过调用(而不是写入临时文件)并相应地映射来检查读取访问权限:我似乎已经弄清楚了这一点,我只是在要映射的文件夹之后输入密码作为 net use 的参数,如下所示:
.. net use t: \BOB\helpdesk 密码 /PERSISTENT:NO
不完全确定它为什么起作用,因为它不是用户的正确密码,但如果用户有权访问它似乎无论如何都会映射它并且如果没有访问驱动器并继续前进则抛出拒绝访问:)
解决方案:
net use t: \BOB\helpdesk 密码 /PERSISTENT:NO
似乎有效,但在最近更新后失败。
如果 EXIST \BOB\helpdesk net 使用 t: \BOB\helpdesk /PERSISTENT:NO
是一种对我一直有效的解决方案。如果用户没有足够的访问权限(适用于网络共享),它会跳过。