Как "игнорировать" подсказку имени пользователя и пароля при использовании в сети

На данный момент у меня есть скрипт 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, но я перенес его на другой сервер (Still Samba PDC), и теперь он выходит из строя.

Есть ли возможность игнорировать запрос имени пользователя и пароля и просто продолжить?

4 ответа

Решение

Я так и не смог найти конечного решения проблемы. Но полезный (но очень хакерский и нечистый) обходной путь использует эту команду:

::Helpdesk
copy /Y NUL "\\BOB\helpdesk\.writable"
IF %ERRORLEVEL%==0 ( 
    del \\BOB\helpdesk\.writable
    GOTO:ALLOWEDHELPDESK
 ) 

GOTO:SECT2
:ALLOWEDHELPDESK
net use k: /delete
net use k: \\BOB\helpdesk 
:SECT2

::Onboarding
copy /Y NUL "\\BOB\onboarding\.writable" 
IF %ERRORLEVEL%==0 ( 
    del \\BOB\onboarding\.writable
    GOTO:ALLOWEDONBOARDING
 ) 

GOTO:SECT3
:ALLOWEDONBOARDING
net use m: /delete
net use m: \\BOB\onboarding 
:SECT3

::Etc,etc,etc

Основное объяснение: он проверяет, доступна ли для записи папка, сначала скопировав пустой файл.writable, если он успешно выполнит команду, в случае неудачи пропустит команду и продолжит работу.

Это чисто обходной путь....

Расширяя ответ Mattisdada, этот скрипт немного облегчит изменение любых сопоставлений дисков, просто добавляя, удаляя или изменяя mapDrive вызовы функций. Кроме того, эта функция проверяет доступ на чтение, вызывая DIR (вместо записи временного файла) и отображает соответственно:

@ECHO off

setlocal
set SHARE=BOB
CALL:mapDrive K: helpdesk
CALL:mapDrive M: onboarding
CALL:mapDrive Z: watercooler
endlocal

net use
ECHO Mapping Complete. Thank You.
PAUSE&GOTO:EOF

:mapDrive
DIR \\%SHARE%\%~2 > nul 2>&1
IF %ERRORLEVEL%==0 ( 
    net use %~1 /DELETE > nul 2>&1
    net use %~1 \\%SHARE%\%~2
)
GOTO:eof

Я, кажется, понял это с моей стороны, я просто ввожу пароль в качестве аргумента сетевого использования, после папки, которая будет отображена, как показано ниже:

..NET use t: \BOB\helpdesk password /PERSISTENT:NO

Я не совсем уверен, почему он работает, так как это не правильный пароль для пользователя, но, похоже, он все равно отображает его, если у пользователя есть доступ, и просто выбрасывает отказ в доступе, если нет доступа к диску и идет дальше:)

Решение:

net use t: \BOB\пароль службы поддержки /PERSISTENT:NO

Кажется, это сработало, но после недавних обновлений произошел сбой.

если СУЩЕСТВУЕТ \BOB\helpdesk net, используйте t: \BOB\helpdesk /PERSISTENT:NO

это решение, которое продолжает работать для меня. Пропускается, если у пользователя нет достаточных прав доступа (работает для сетевых ресурсов).

Другие вопросы по тегам