Cómo "ignorar" la solicitud de nombre de usuario y contraseña en el uso de la red

Cómo "ignorar" la solicitud de nombre de usuario y contraseña en el uso de la red

En este momento tengo un script logon.cmd, que estoy usando para asignar unidades de red al perfil de los usuarios. Se parece a esto:

::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 

Funciona bien hasta que llega a una carpeta a la que el usuario actual no puede acceder, luego solicita un nombre de usuario y contraseña en lugar de generar un error y continuar.

Notas: Este mismo script solía funcionar en otra red Samba PDC, pero lo moví a otro servidor (Still Samba PDC) y ahora no funciona.

¿Existe alguna forma de ignorar la solicitud de nombre de usuario/contraseña y simplemente continuar?

Respuesta1

Nunca pude encontrar una solución definitiva al problema. Pero una solución utilizable (pero muy complicada y sucia) es usar este comando:

::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

Explicación básica: primero verifica si se puede escribir en una carpeta copiando un archivo en blanco .escribible, si tiene éxito ejecuta el comando, si falla, omite el comando y continúa.

Esto es puramente una solución...

Respuesta2

Ampliando la respuesta de Mattisdada, este script hará que sea un poco más fácil modificar cualquier asignación de unidad simplemente agregando, eliminando o cambiando las mapDrivellamadas a funciones. Además, esta función verifica el acceso de lectura llamando DIR(en lugar de escribir el archivo temporal) y asigna en consecuencia:

@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

Respuesta3

Parece que he descubierto esto por mi parte, simplemente ingreso una contraseña como argumento de uso de red, después de la carpeta que se va a asignar, como se muestra a continuación:

.. uso neto t: \BOB\contraseña del servicio de asistencia /PERSISTENTE:NO

No estoy exactamente seguro de por qué funciona, ya que no es la contraseña correcta para el usuario, pero parece asignarla de todos modos si el usuario tiene acceso y simplemente arroja un acceso denegado si no hay acceso a la unidad y continúa :)

Respuesta4

La solución:

uso neto t: \BOB\contraseña del servicio de asistencia técnica /PERSISTENTE:NO

Parece haber funcionado pero falla después de actualizaciones recientes.

si EXISTE \BOB\helpdesk net use t: \BOB\helpdesk /PERSISTENT:NO

es una solución que sigue funcionando para mí. Se omite si el usuario no tiene suficientes derechos de acceso (funciona para recursos compartidos de red).

información relacionada