So „ignorieren“ Sie die Eingabeaufforderung für Benutzername und Kennwort bei der Netzverwendung

So „ignorieren“ Sie die Eingabeaufforderung für Benutzername und Kennwort bei der Netzverwendung

Ich habe im Moment ein logon.cmd-Skript, das ich verwende, um Netzlaufwerke dem Benutzerprofil zuzuordnen. Es sieht folgendermaßen aus:

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

Es funktioniert einwandfrei, bis es zu einem Ordner gelangt, auf den der aktuelle Benutzer nicht zugreifen kann. Dann fragt es nach einem Benutzernamen und einem Kennwort, anstatt einen Fehler auszugeben und fortzufahren.

Hinweise: Genau dieses Skript hat früher in einem anderen Samba-PDC-Netzwerk funktioniert, aber ich habe es auf einen anderen Server verschoben (immer noch Samba PDC) und jetzt funktioniert es nicht mehr.

Gibt es eine Möglichkeit, die Eingabeaufforderung für Benutzername/Passwort zu ignorieren und einfach fortzufahren?

Antwort1

Ich konnte nie eine endgültige Lösung für das Problem finden. Aber eine brauchbare (aber sehr mühselige und unsaubere) Umgehungslösung ist die Verwendung dieses Befehls:

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

Grundlegende Erklärung: Es prüft zunächst, ob ein Ordner beschreibbar ist, indem eine leere Datei .writable kopiert wird. Wenn dies gelingt, wird der Befehl ausgeführt. Wenn dies fehlschlägt, wird der Befehl übersprungen und der Vorgang fortgesetzt.

Dies ist lediglich ein Workaround....

Antwort2

Dieses Skript erweitert Mattisdadas Antwort und erleichtert das Ändern von Laufwerkszuordnungen durch einfaches Hinzufügen, Löschen oder Ändern der mapDriveFunktionsaufrufe. Darüber hinaus prüft diese Funktion den Lesezugriff durch Aufruf DIR(anstatt die temporäre Datei zu schreiben) und ordnet die Zuordnungen entsprechend zu:

@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

Antwort3

Ich scheine das auf meiner Seite herausgefunden zu haben. Ich gebe einfach ein Passwort als Argument für net use nach dem zuzuordnenden Ordner ein, wie unten:

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

bin mir nicht ganz sicher, warum es funktioniert, da es nicht das richtige Passwort für den Benutzer ist, aber es scheint es trotzdem zuzuordnen, wenn der Benutzer Zugriff hat, und gibt einfach „Zugriff verweigert“ aus, wenn kein Zugriff auf das Laufwerk besteht, und fährt fort :)

Antwort4

Die Lösung:

net use t: \BOB\helpdesk password /PERSISTENT:NO

scheint funktioniert zu haben, schlägt aber nach den letzten Updates fehl.

wenn EXIST \BOB\helpdesk net use t: \BOB\helpdesk /PERSISTENT:NO

ist eine Lösung, die bei mir immer funktioniert. Sie wird übersprungen, wenn der Benutzer nicht über ausreichende Zugriffsrechte verfügt (funktioniert bei Netzwerkfreigaben).

verwandte Informationen