Riddick123 10 Geschrieben 26. Juni 2010 Melden Teilen Geschrieben 26. Juni 2010 Hi ich bin ein anfänger in punkto scripting. Und zwar will ich, das ein Script überprüft, ob der User "T" Mitglied in der OU_TEST und UO_TEST ist. Und abhängig vom ergebnis, soll er entweder C:\Data (bei mitgliedschaft in den beiden Gruppen) oder (falls kein mitglied) C:\Data1 als laufwerk S Verbunden werden. Aber ich weiß nicht wie. Soweit bin ich bisher gekommen: dsquery computer domainroot -name %computername% -gc dsquery user domainroot -samid %username% -gc :KeinMitglied net use s: \\pc\Data1 /persistent:no GOTO END :Mitglied net use s: \\pc\Data /persistent:no GOTO END :END aber ich weis nicht ob die abfrage richtig ist. Bitte um Hilfe Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 26. Juni 2010 Melden Teilen Geschrieben 26. Juni 2010 Hallo, von dem Anderen abgesehen, müsste es heissen: net use s: \\pc\Data1 /persistent:no & GOTO END denn, der NET-Befehl und dessen Erweiterung USE kennen keine Parameter GOTO END; GOTO ist hier ein weiterer Befehl in einer Zeile mit NET. Ob die Abfrage stimmig, das müsste doch per Versuch feststellbar sein. Oder? Wo ist denn aber die Verarbeitung des mit dsquery Ermittelten und Angezeigten? Net reagiert doch nicht auf die die Ergebnisse oder den Errorlevel Null. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 26. Juni 2010 Melden Teilen Geschrieben 26. Juni 2010 aber ich weis nicht ob die abfrage richtig ist. Bitte um Hilfe Ich bitte um Entschuldigung, ich hätte besser lesen sollen. Ich bevorzuge traditionell die Anwendung der For-Schleife mit Textiteration /F also for /f in Verbindung mit dem Set-Befehl, das gesamte oder ein Teilergenis der Abfrage landet in einer Variablen, deren Inhalt kann dann weiter ausgewertet werden. Es gibt noch eine andere Möglichkeit mit der Pipe und find oder findstr. Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 26. Juni 2010 Melden Teilen Geschrieben 26. Juni 2010 Hi ich bin ein anfänger in punkto scripting. Und zwar will ich, das ein Script überprüft, ob der User "T" Mitglied in der OU_TEST und UO_TEST ist. Du meinst vermutlich Gruppenzugehörigkeit, oder? Und abhängig vom ergebnis, soll er entweder C:\Data (bei mitgliedschaft in den beiden Gruppen) oder (falls kein mitglied) C:\Data1 als laufwerk S Verbunden werden. Aber ich weiß nicht wie. Soweit bin ich bisher gekommen: Schau dir dieses HowTo an: Anmelde Skripe - Möglichkeiten und Funktionen Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 26. Juni 2010 Melden Teilen Geschrieben 26. Juni 2010 (bearbeitet) Fangen wir mal damit an: for /f %%i in ('dsquery computer domainroot -name %computername% -gc') do echo %%i pause Was wird aus dem Ergebnis benötigt zur Auswerung, wahrscheinlich die OU, oder? Mit "tokens=*" for /f "tokens=*" %%i in ('dsquery computer domainroot -name %computername% -gc') do echo %%i pause erhalten wir mit dem Wildcard * das komplette Ergebnis. Weiter mit for /f "tokens=2 delims=," %%i in ('dsquery computer domainroot -name %computername% -gc') do echo %%i pause Erhalten wir: OU=nameofou Weiter mit set: for /f "tokens=2 delims=," %%i in ('dsquery computer domainroot -name %computername% -gc') do set variable=%%i echo %variable% pause Das Ergebnis steht in der Variablen. Wir wenden eine Möglichkeit von Set an: for /f "tokens=2 delims=," %%i in ('dsquery computer domainroot -name %computername% -gc') do set variable=%%i echo %variable% set variable=%variable:~3% echo %variable% pause erhalten nur den Namen der OU. Zu find und findstr in Verbindung mit der Pipe | gibt es in diesem Forum einige Beiträge. bearbeitet 26. Juni 2010 von lefg Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 26. Juni 2010 Melden Teilen Geschrieben 26. Juni 2010 dsquery user domainroot -samid %username% -gc|findstr TEST echo %errorlevel% ergibt den Errorlevel 1. dsquery user domainroot -samid %username% -gc|findstr "OU=nameofou" echo %errorlevel% sollte einen Errorlevel 0 ergeben. Dann der IF-Befehl: if errorlevel .... Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.