avenger82
Goto Top

Netzlaufwerk verbinden Domänenübergreifend Loginscript

Hi.

Habe hier:

Server 1 in der Domäne 1 und Server 2 in der domäne 2

Auf dem Server 1 sind Orndner freigegeben auf dem ein Benutzer aus der Domäne 1 zugriffsrechte hatt.

Ist es möglich per LoginScript sich zu dem Ordner zu verbinden wenn man sich in der Domäne 2 befindet ?

Ich möchte nicht per explorer - extra - netzlaufwerk verbinden sondern es muss per kix passieren.


danke


lg

Content-Key: 15979

Url: https://administrator.de/contentid/15979

Ausgedruckt am: 28.03.2024 um 12:03 Uhr

Mitglied: SMU
SMU 13.09.2005 um 13:26:40 Uhr
Goto Top
Sicher geht das.

Du solltest den Domain "das gegenseitige Vertrauen aussprechen".

Damit gestatten sie den domainübergreifenden Zugriff.

Dann ist der Phantasie kaum eine Grenze gesetzt.

Ich habe eine "einfache" Lösung per CMD-File gewählt und die Möglichkeiten der Shell mit FOR Schleifen IF blabla etwas intensiv genutzt.

Wie Du hier in anderen Beiträgen lesen kannst geht das wohl per VBS etc.

Reine Geschmackssache und eine Sache was Dir am einfachsten erscheint.

bei CMD kann ich Dir Hilfestellung geben.

SMU
Mitglied: Biber
Biber 13.09.2005 um 13:27:09 Uhr
Goto Top
Moin avenger82,
mit so komplizierten Sachen wie KiX kenn ich mich leider nicht aus, aber reicht nicht ein normales
"net use x: \\domain1\freigabelalala /User:domain2\usernameindomain2 [passwort|*]" ??

Gruß
Frank / der Biber aus Bremen
Mitglied: avenger82
avenger82 13.09.2005 um 14:55:41 Uhr
Goto Top
wäre für unterstützung dankabar weil cmd kann man in kix einbaun.
Mitglied: SMU
SMU 13.09.2005 um 21:47:48 Uhr
Goto Top
ok. - ich mache es mir mal einfach
Ich stelle das Loginscript rein und Du sagst mir was Du davon nicht verstehst.
Die FOR-Schleifen kann man sicherlich noch optimieren.
Ein paar Sachen sind dort deaktiviert wie das Stoppen un Starten der Dienste.
Aber ich denke die Syntax ist wichtig. Deiner Phantasie sind also keine Grenzen gesetzt.

SMU


Hier das Script (Win2k + XP + 2003 only)
@echo off
rem C:\WINDOWS\Config\system
rem ----------------------------------------------------------------------------------------------------
set tms=terminalserver
set nav=navisionserver
set dom=domaincontroller
set src=terminalserver
set mp3=domaincontroller
set lgof=C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Startup
set lgon=C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown
rem ----------------------------------------------------------------------------------------------------
set usp=%userprofile%
set usn=%username%
set cpn=%computername%
set lgn=%logonserver%
rem ----------------------------------------------------------------------------------------------------
set info=\\%src%\$tool$\IP-Pool\%username%-ip.txt
rem ----------------------------------------------------------------------------------------------------
set fonts=IDAutomation
rem ----------------------------------------------------------------------------------------------------
set servicestop=Fehlerberichterstattungsdienst "Windows-Firewall/Gemeinsame Nutzung der Internetverbindung"
rem ----------------------------------------------------------------------------------------------------
set servicestart=Messenger Nachrichtendienst Terminaldienste Telefonie QoS-RSVP Netmeeting-Remotedesktop-Freigabe
rem ----------------------------------------------------------------------------------------------------
set search=NETLOGON DRIVE GOOGLE LEO BABEL RDP WEBMAIL FUJITSU
rem ----------------------------------------------------------------------------------------------------
set navis1=NAVISION NAV-MENUE
rem ----------------------------------------------------------------------------------------------------
set navis2=NAV-V
rem ----------------------------------------------------------------------------------------------------
set d1=%temp%\profile.tmp
set d2=%temp%\profile2.tmp
rem ----------------------------------------------------------------------------------------------------
if /I %usn%==registered user (%windir%\system32\cmd.exe /cnet config server /hidden:yes >nul) ELSE %windir%\system32\cmd.exe /cnet config server /hidden:no >nul
rem ----------------------------------------------------------------------------------------------------
for /f "tokens=5,6 delims=. " %%a in ('ver') do if %%a.%%b==5.00 (for /f "tokens=2-4 delims=. " %%a in ('date /t') do set dat=%%c-%%b-%%a) ELSE for /f "tokens=1-3 delims=. " %%a in ('date /t') do set dat=%%c-%%b-%%a
for /f "tokens=1-2 delims=: " %%a in ('time /t') do set tim=%%a:%%b Uhr
rem ----------------------------------------------------------------------------------------------------
echo %dat% - %tim% - %lgn%\%usn% - %cpn% >>"%info%"
for /f "tokens=2-3,5-7 delims=. " %%a in ('ver') do echo %%a %%b %%c.%%d.%%e >>"%info%"
echo ----------------------------------------------------------------------------------- >>"%info%"
ipconfig /all|find "Besc" >>"%info%"
ipconfig /all|find "IP-A" >>"%info%"
ipconfig /all|find "Phys" >>"%info%"
for /f "eol=; tokens=3 delims=_ " %%a in ('net config Server') do @echo GUID. . . . . . . . . . . . . . . : %%a |find "{" >>"%info%"
echo ------------------------------------------------------------------------------------------- >>"%info%"
rem ----------------------------------------------------------------------------------------------------
if /I %usn%==blabla set nmap=Z Y W X S Q P N M L K I G F
if /I %usn%==blabla set account=static
if /I %usn%==blabla set search=NETLOGON FIREWALL DRIVE GOOGLE LEO BABEL RDP WEBMAIL NAV CURRENCY

rem ----------------------------------------------------------------------------------------------------
if exist %windir%\system32 echo @echo off >%windir%\system32\cc.cmd
if exist %windir%\system32 echo color 3b >>%windir%\system32\cc.cmd
if exist %windir%\system32 echo cmd /e:on /f:on /t:3b /k%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9 >>%windir%\system32\cc.cmd
if exist %windir%\system32 echo. >>%windir%\system32\cc.cmd
rem ----------------------------------------------------------------------------------------------------
for /f "tokens=5,6 delims=. " %%a in ('ver') do if %%a.%%b==5.00 goto skip2000
echo Windows Registry Editor Version 5.00 >%temp%\cmdfile.reg
echo. >>%temp%\cmdfile.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor] >>%temp%\cmdfile.reg
echo "CompletionChar"=dword:00000040 >>%temp%\cmdfile.reg
echo "EnableExtensions"=dword:00000001 >>%temp%\cmdfile.reg
echo "PathCompletionChar"=dword:00000040 >>%temp%\cmdfile.reg
echo. >>%temp%\cmdfile.reg
echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor] >>%temp%\cmdfile.reg
echo "CompletionChar"=dword:00000040 >>%temp%\cmdfile.reg
echo "EnableExtensions"=dword:00000001 >>%temp%\cmdfile.reg
echo "PathCompletionChar"=dword:00000040 >>%temp%\cmdfile.reg
regedt32 /s %temp%\cmdfile.reg
if exist %temp%\cmdfile.reg erase %temp%\cmdfile.reg
:skip2000
rem ----------------------------------------------------------------------------------------------------
echo %userprofile% >%d1%
for /f "eol=; tokens=1-4 delims=\" %%a in ("%d1%") do set pp=%%a\%%b
if exist %d2% erase %d2%
for /f "eol=; tokens=1-4 delims=\" %%a in ("%d1%") do dir /x /ad %%a\%%b\|find /i "<DIR>" >>%d2%
if exist %d1% erase %d1%
for /f "skip=2 tokens=4 delims= " %%a in (%d2%) do echo %%a >>%d1%
if exist %d2% erase %d2%
for /f "tokens=1 delims= " %%a in (%d1%) do if not %%a==ALLUSE~1 echo %pp%\%%a >>%d2%
if exist %d1% erase %d1%
for /f "tokens=1 delims= " %%a in (%d2%) do for %%b in (desktop startm~1) do echo %%a\%%b >>%d1%
for /f "tokens=1 delims= " %%a in (%d1%) do for %%b in (%search%) do if exist %%a\%%b* cmd /cerase %%a\%%b* >nul
for /f "tokens=1 delims= " %%a in (%d1%) do for %%b in (%navision%) do if exist %%a\%%b* cmd /cerase %%a\%%b* >nul
for /f "tokens=1 delims= " %%a in (%d1%) do for %%b in (%navision2%) do if exist %%a\%%b* cmd /cerase %%a\%%b* >nul
if exist %d1% erase %d1%
if exist %d2% erase %d2%
rem ----------------------------------------------------------------------------------------------------
for %%a in (%search%) do cmd /ccopy \\%src%\$tool$\lnk\%%a* "%usp%\desktop\" >nul
for %%a in (%search%) do cmd /ccopy \\%src%\$tool$\lnk\%%a* "%usp%\startm~1\" >nul
if %account%==static for %%a in (%search%) do if %%a==NETLOGON cmd /ccopy \\%src%\$tool$\lnk\%%a* "%usp%\startm~1\progra~1\autost~1\" >nul
rem if %account%==static for %%a in (%search%) do if %%a==NETLOGON cmd /ccopy \\%src%\$tool$\lnk\%%a* "%usp%\startm~1\progra~1\startup\" >nul
for %%a in (%fonts%) do cmd /ccopy \\%src%\$tool$\fonts\%%a* "%windir%\fonts\" >nul
rem for %%a in (%servicestop%) do cmd /cnet start %%a >nul
rem for %%a in (%servicestart%) do cmd /cnet start %%a >nul
rem
rem ----------------------------------------------------------------------------------------------------
set vpro1=if exist \\%src%\$tool$\ini\%usn%.ini cmd /ccopy \\%src%\$tool$\ini\%usn%.ini %windir%\lsst.ini >nul
set vpro2=if exist \\%src%\$tool$\lnk\Schleupen-CS.lnk cmd /ccopy \\%src%\$tool$\lnk\Schleupen-CS.lnk %pp%\%usn%\desktop\ >nul
set vpro3=if exist \\%src%\$tool$\lnk\Schleupen-CS.lnk cmd /ccopy \\%src%\$tool$\lnk\Schleupen-CS.lnk %pp%\%usn%\startm~1\ >nul
rem ----------------------------------------------------------------------------------------------------
rem if exist %prg1% "%prg1%" /oneclickscan
rem ----------------------------------------------------------------------------------------------------
cls
color 9f
echo -----------------------------------------------------
echo ...cut your networkmapping
for %%i in (F G H I J K L M N O P Q R S T U V W X Y Z) do net use %%i: /delete >Nul: 2>&1
color 2f
echo -----------------------------------------------------
echo ...map your networkdrives
for %%a in (%nmap%) do if /i %%a==F goto pointF
:lastF
for %%a in (%nmap%) do if /i %%a==G goto pointG
:lastG
for %%a in (%nmap%) do if /i %%a==H goto pointH
:lastH
for %%a in (%nmap%) do if /i %%a==I goto pointI
:lastI
for %%a in (%nmap%) do if /i %%a==J goto pointJ
:lastJ
for %%a in (%nmap%) do if /i %%a==K goto pointK
:lastK
for %%a in (%nmap%) do if /i %%a==L goto pointL
:lastL
for %%a in (%nmap%) do if /i %%a==M goto pointM
:lastM
for %%a in (%nmap%) do if /i %%a==N goto pointN
:lastN
for %%a in (%nmap%) do if /i %%a==O goto pointO
:lastO
for %%a in (%nmap%) do if /i %%a==P goto pointP
:lastP
for %%a in (%nmap%) do if /i %%a==Q goto pointQ
:lastQ
for %%a in (%nmap%) do if /i %%a==R goto pointR
:lastR
for %%a in (%nmap%) do if /i %%a==S goto pointS
:lastS
for %%a in (%nmap%) do if /i %%a==T goto pointT
:lastT
for %%a in (%nmap%) do if /i %%a==U goto pointU
:lastU
for %%a in (%nmap%) do if /i %%a==V goto pointV
:lastV
for %%a in (%nmap%) do if /i %%a==W goto pointW
:lastW
for %%a in (%nmap%) do if /i %%a==X goto pointX
:lastX
for %%a in (%nmap%) do if /i %%a==Y goto pointY
:lastY
for %%a in (%nmap%) do if /i %%a==Z goto pointZ
:lastZ
goto lastMap
:pointF
net use f: \\%nav%\$narc$ /yes >Nul: 2>&1
for %%a in (%navis2%) do cmd /ccopy \\%src%\$tool$\lnk\%%a* "%usp%\desktop\" >nul
for %%a in (%navis2%) do cmd /ccopy \\%src%\$tool$\lnk\%%a* "%usp%\startm~1\" >nul
goto lastF
:pointG
if /I %usn%==blabla net use G: \\%tms%\$gsfr$ /yes >Nul: 2>&1
goto lastG
:pointH
goto lastH
:pointI
if /I %usn%==blabla net use I: \\%src%\$inve$ /yes >Nul: 2>&1
goto lastI
:pointJ
net use j: \\aucheinserver\us2eu /USER:domain\banana-joe 23052005
goto lastJ
:pointK
if /I %usn%==blabla net use k: \\%tms%\$kkn$ /yes >Nul: 2>&1
goto lastK
:pointL
if /I %usn%==blabla net use L: \\%tms%\$logi$ /yes >Nul: 2>&1
if /I %cpn%==irgendeineworkstation use L: \\%tms%\$labor$ /yes >Nul: 2>&1
goto lastL
:pointM
net use m: \\%mp3%\$ ~~ $ /yes >Nul: 2>&1
goto lastM
:pointN
goto lastN
if /I %usn%==blabla net use n: \\%tms%\$nlog$ /yes >Nul: 2>&1
:pointO
if /I %usn%==ohanitzsch net use O: \\%tms%\$logi$ /yes >Nul: 2>&1
goto lastO
:pointP
if /I %usn%==blabla net use p: \\%tms%\$pers$ /yes >Nul: 2>&1
goto lastP
:pointQ
if /I %usn%==blabla net use Q: \\%tms%\lan$ /yes >Nul: 2>&1
goto lastQ
:pointR
goto lastR
:pointS
if /I %usn%==blabla net use S: \\%tms%\schleupen.cs$ /yes >Nul: 2>&1
if /I %usn%==blabla %vpro1%
if /I %usn%==blabla %vpro2%
if /I %usn%==blabla %vpro3%
goto lastS
:pointT
if /I %usn%==blabla net use T: \\%tms%\transfer$ /yes >Nul: 2>&1
goto lastT
:pointU
goto lastU
:pointV
goto lastV
:pointW
goto lastW
:pointX
net use X: \\%tms%\$doku$ /yes >Nul: 2>&1
goto lastX
:pointY
if /I %usn%==blabla net use Y: \\%tms%\$buha$ /yes >Nul: 2>&1
&1
goto lastY
:pointZ
net use Z: \\%tms%\hallohallo /yes >Nul: 2>&1
goto lastZ
:lastMap
echo -----------------------------------------------------
color 3f
echo ...clean your tempfiles
echo ......................... please ignore errormessages
echo.
cmd /cerase /f /s /q %temp%\*.* >nul
echo -----------------------------------------------------

--ENDE-----------------------------------------------------------------------------------------------------------
Mitglied: Biber
Biber 14.09.2005 um 16:22:58 Uhr
Goto Top
Moin,
@SMU,
mit vereinten Kräften ließe sich das Script aber schon auf die halbe Zeilenzahl zusammendampfen.
Oder besser noch, die freiwerdenden Zeilen mit Kommentaren auffüllen.
War bestimmt eine Sache von Wochen, bis der Batch alles machte, was er sollte.

@avenger82
was SMU nicht erwähnt hat, aber vor dem Handwerklichen nötig ist:
zwei oder drei Zettel bemalen mit "Wie verteile ich eigentlich die paar Laufwerksbuchstaben C:....Z: auf alle Laufwerke, CD-ROMs, Netzwerkshares, die ein Benutzer "standardmäßig" haben soll? Und da hat SMU vermutlich gute Vorarbeit geleistet. Sieht pflegbar und erweiterbar aus.

Biber
Mitglied: SMU
SMU 14.09.2005 um 19:19:19 Uhr
Goto Top
joho - ;o)

Das Ganze war an sich nur als Anreiz für Dich gedacht.

Das Interessante für mich war an sich das man ganze Befehle in Variablen packen kann
und ebenso etwas auch den Workstations rumwurschteln kann.

Ebenso lassen sich Statusinformationen wie IP, MAC-Addr. System, User, GUID ...blabla wegschreiben.

Wer AIDA32 kennt weiß um Einträge wie Servermodus etc.

Ebenso fand ich das kopieren von Links und Schriften ganz praktisch weil mir das
Rumgenöle von verschwundenen Icons einfach mal auf den Geist ging.

Die Regdateien die ich in das System32 Verzeichnis der user schreibe erweitern
den Geist der Commandshell ermöglichen am Prompt ein Bash-Feeling wie im Linux.

Das Loginscript ist etwas gewachsen - ich werde es demnächst noch optimieren und
das ganze portierbar auf US-Platform machen da die Meldunge die teilweise abfange im Englischen im anderer Syntax kommen.

Wenn es überarbeitet ist kann ich es ja auch posten.

@averger82 hat Recht - man sollte erst mal wissen was man abbilden will.

SMU
Mitglied: Biber
Biber 14.09.2005 um 20:00:40 Uhr
Goto Top
@SMU
*lacht* ..das kam mir auch gleich wie ein plumper Köder für mich vor, mit den ganzen offensichtlich viel zu umständlichen Zeilen face-big-smile face-big-smile

Aber Spaß beiseite - gerade bei diesen "Gebrauchs-Batchen", die ja manchmal drei Betriebssystem-Umstellungen, zwei Abteilungs-Umstrukturierungen und manchmal auch mehrere Admin-Wechsel überdauern, sehe ich es mittlerweile als eines der wichtigsten Kriterien an, dass die Lesbarkeit und noch mehr die Wartbarkeit gegeben sind.

Von daher wäre ich der Letzte, der sofort hochpoppt mit "Dies und das könnte man auch VIEL eleganter machen" ...solange, wie das Ding
a) stabil und robust läuft und
b) auch eine Urlaubsvertretung zur Not in der Lage ist, die üblichen Tagesgeschäft-Anpassungen zu machen (OHNE mich im Freibad von Wanne-Eickel anrufen zu müssen)

... solange frisier ich auch nicht ungefragt an funktionierenden Scripten rum.

Eines hab ich nicht verstanden: was um Gottes Willen sind denn die beiden "...CompletionChars" mit dword:00000040 ???
Ist da nicht 00000009 (also ein normaler TAB ) viel einfacher? Ist es doch bei der bash auch, oder? Nur interessehalber... wenn die User das so gewohnt sind, ist es ja okay so...

Biber
Mitglied: SMU
SMU 15.09.2005 um 10:16:56 Uhr
Goto Top
ich bin dort dem Standard gefolgt.
Aber Du hast Recht - TAB ist eleganter.

SMU