VBscript zum starten eines domianloginscripts unter anderem usernamen
...
Hallo,
folgendes Problem:
ich hab da einen PC (XP) wo sich immer nur ein ganz bestimmter User im Active Directory (Win2003) einloggt (damit nicht jeder User dort ein eigenes Profil hat).
Nun such ich eine Idee, mit welcher ich per vbs ein Domainloginscript starte aber unter anderem Usernamen (damit die richtigen Laufwerke gemountet werde).
Meine Idee ist dahingend, das ein Popupwindow kommt zur Abfrage Username, Passwort, Domäne und der user dort alles setzt und danach das entsprechende Mounten entsprechend meines normalen Loginscripts startet (objNetwork.MapNetworkDrive).
Irgendeiner eine Idee dazu?
Danke!
Frank
folgendes Problem:
ich hab da einen PC (XP) wo sich immer nur ein ganz bestimmter User im Active Directory (Win2003) einloggt (damit nicht jeder User dort ein eigenes Profil hat).
Nun such ich eine Idee, mit welcher ich per vbs ein Domainloginscript starte aber unter anderem Usernamen (damit die richtigen Laufwerke gemountet werde).
Meine Idee ist dahingend, das ein Popupwindow kommt zur Abfrage Username, Passwort, Domäne und der user dort alles setzt und danach das entsprechende Mounten entsprechend meines normalen Loginscripts startet (objNetwork.MapNetworkDrive).
Irgendeiner eine Idee dazu?
Danke!
Frank
Please also mark the comments that contributed to the solution of the article
Content-Key: 141482
Url: https://administrator.de/contentid/141482
Printed on: April 24, 2024 at 22:04 o'clock
8 Comments
Latest comment
Dafür gibt es netlogon:
IF %USERNAME%==BLAHBLAH MACH DIES
Oder heißt "unter anderem Usernamen" auch mit anderen Rechten?
IF %USERNAME%==BLAHBLAH MACH DIES
Oder heißt "unter anderem Usernamen" auch mit anderen Rechten?
Hola!
Ich hab hier eine Lösung (die von Bastla verbessert werden soll/wird , die genau das macht, was Du möchtest (glabue ich zumindest)...
(wird hier so -unverändert - von meinen SchülerInnen verwendet)
da ich im stress bin - nur der code, die Bearbeitung überlasse ich Dir selbst...
alle 3 Dateien nach C: kopieren in den Ordner "verbindungstool", fertig isses...
1.) login.htm
netzlaufwerk verbinden.vbs
mapping.cmd
alles in einen Ordner und fertig isses
(gestartet wird durch doppelklick auf NETZLAUFWERK VERBINDEN.vbs
lg
Edi
edit: da könnte man - nach kurzem hinschaun nach der langen Zeit - eine einfache hta-Datei draus basteln, dann gings mit 1 datei ab...
Wenn Du dich bis morgen gedulden kannst und Bastla bis dorthin diese Idee nicht aufgreifen sollte (was mir im übrigen sehr recht ist, ich kämpfe gerade mit einem 3Com G4500 herum), könnte ich Dir morgen die fertige Lösung posten ...
Ich hab hier eine Lösung (die von Bastla verbessert werden soll/wird , die genau das macht, was Du möchtest (glabue ich zumindest)...
(wird hier so -unverändert - von meinen SchülerInnen verwendet)
da ich im stress bin - nur der code, die Bearbeitung überlasse ich Dir selbst...
alle 3 Dateien nach C: kopieren in den Ordner "verbindungstool", fertig isses...
1.) login.htm
<SCRIPT LANGUAGE="VBScript">
Sub RunScript
OKClicked.Value = "OK"
End Sub
Sub CancelScript
OKClicked.Value = "Cancelled"
End Sub
</SCRIPT>
<BODY><font face="Arial">
<font color="#FF0000">ACHTUNG: vor Ausführung auf die Leiste oben klicken!!!</font><br>
<br>
Username: </font><font face="Arial">
<input type="text" name="benutzer" size="40"><br>
Password: </font><font face="Arial">
<input type="password" name="passwort" size="40"><br>
Klasse: </font><font face="Arial">
<input type="text" name="klasse" size="40"> (zB 1a bis 5w)<br>
Verbindung: </font>
<select name="laufwerk" size="1">
<option value="home">home
<option value="allgemein">allgemein
</select>
<br>
</font></p>
<input type="hidden" name="OKClicked" size = "20">
<input id=runbutton class="button" type="button" value=" OK "
name="ok_button" onClick="RunScript">
<input id=runbutton class="button" type="button" value="Cancel"
name="cancel_button" onClick="CancelScript">
</BODY>
netzlaufwerk verbinden.vbs
' mapping-tool von Pfisterer Edi 2008
'benutzer = inputBox("bitte gib deine Kennung nach dem Muster vorname.nachname ein!")
On Error Resume Next
Set objExplorer = WScript.CreateObject _
("InternetExplorer.Application", "IE_")
objExplorer.Navigate "file:///c:/verbindungstool\password.htm"
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width = 600
objExplorer.Height = 350
objExplorer.Left = 300
objExplorer.Top = 200
objExplorer.Visible = 1
Do While (objExplorer.Document.Body.All.OKClicked.Value = "")
Wscript.Sleep 250
Loop
passwort = objExplorer.Document.Body.All.passwort.Value
benutzer = objExplorer.Document.Body.All.benutzer.Value
laufwerk = objExplorer.Document.Body.All.laufwerk.Value
klasse = objExplorer.Document.Body.All.klasse.Value
strButton = objExplorer.Document.Body.All.OKClicked.Value
objExplorer.Quit
Wscript.Sleep 250
If strButton = "Cancelled" Then
Wscript.Quit
Else
'Wscript.Echo strPassword
End If
'passwort = inputBox("Dein Passwort?")
'klasse = inputBox("Klasse?")
'laufwerk = inputBox("Womit möchtest du Dich verbinden? Antwort 'ALLGEMEIN' oder 'HOME'")
if laufwerk = "allgemein" then
laufwerk = "\\ilva\allgemein"
else
if laufwerk = "home" then
laufwerk = "\\halvar\home$\" & klasse & "\" & benutzer
else
laufwerk = "\\halvar"
end if
end if
Dim WshShell, ret
Set WshShell = WScript.CreateObject("WScript.Shell")
ret = WshShell.Run ("mapping.cmd " & benutzer & "," & laufwerk & "," & passwort)
WScript.Sleep(2000)
Erfolg = "Laufwerk erfolgreich verbunden!"
msgBox(Erfolg)
mapping.cmd
net use * %2 %3 /user:hakneusiedl\%1
alles in einen Ordner und fertig isses
(gestartet wird durch doppelklick auf NETZLAUFWERK VERBINDEN.vbs
lg
Edi
edit: da könnte man - nach kurzem hinschaun nach der langen Zeit - eine einfache hta-Datei draus basteln, dann gings mit 1 datei ab...
Wenn Du dich bis morgen gedulden kannst und Bastla bis dorthin diese Idee nicht aufgreifen sollte (was mir im übrigen sehr recht ist, ich kämpfe gerade mit einem 3Com G4500 herum), könnte ich Dir morgen die fertige Lösung posten ...
Hallo Edi!
Was meine Bastelei bisher ergeben hat, sieht als HTA-Gerüst etwa so aus:
Es werden also weiterhin die Eingaben nicht geprüft, und auch die Behauptung "Laufwerk erfolgreich verbunden!" ist noch immer nur Ausdruck einer Hoffnung (aber zumindest erfolgt die Ausgabe erst, wenn der "Shell"-Aufruf beendet ist) ...
Grüße
bastla
Ich hab hier eine Lösung (die von Bastla verbessert werden soll/wird
Das nenn' ich mal ne Steilvorlage ... Was meine Bastelei bisher ergeben hat, sieht als HTA-Gerüst etwa so aus:
<html>
<head>
<title>Netzlaufwerk verbinden</title>
<HTA:APPLICATION
ID="objMapDrive"
APPLICATIONNAME="MapDrive"
SCROLL="no"
SINGLEINSTANCE="yes"
>
</head>
<script Language="VBScript">
Sub Init
W = 500
H = 300
Window.ResizeTo W, H
Window.MoveTo (screen.availWidth - W) / 2, (screen.availHeight - H) / 2 - 20
txtbenutzer.Focus
End Sub
Sub RunScript
benutzer = txtbenutzer.value
passwort = txtpasswort.value
klasse = txtklasse.value
laufwerk = cbolaufwerk.value
Select Case laufwerk
Case "allgemein"
laufwerk = "\\ilva\allgemein"
Case "home"
laufwerk = "\\halvar\home$\" & klasse & "\" & benutzer
Case Else
laufwerk = "\\halvar"
End Select
Set WshShell = CreateObject("WScript.Shell")
cmd = "%comspec% /c net use * " & laufwerk & " /user:hakneusiedl\" & benutzer & " " & passwort
WshShell.Run cmd, 0, True
MsgBox "Laufwerk erfolgreich verbunden!"
Window.Close
End Sub
Sub CancelScript
Window.Close
End Sub
</script>
<body onload="Init">
<font face="Arial">
Username: </font><font face="Arial">
<input type="text" name="txtbenutzer" size="40"><br><br>
Password: </font><font face="Arial">
<input type="password" name="txtpasswort" size="40"><br><br>
Klasse: </font><font face="Arial">
<input type="text" name="txtklasse" size="40"> (zB 1a bis 5w)<br><br>
Verbindung: </font>
<select name="cbolaufwerk" size="1">
<option value="home">home
<option value="allgemein">allgemein
</select>
<br><br>
</font></p>
<input id=runbutton class="button" type="button" value=" OK "
name="ok_button" onClick="RunScript">
<input id=runbutton class="button" type="button" value="Cancel"
name="cancel_button" onClick="CancelScript">
</body>
</html>
Grüße
bastla
Hallo frankoehli!
...leite ich aber gerne an Edi (urobe73) weiter.
Grüße
bastla
Hey bastla! Man das rockt! Danke dir 1000x! Genial!
Erfreuliche Mitteilung, aber falscher Adressat ......leite ich aber gerne an Edi (urobe73) weiter.
Grüße
bastla