VBscript
Járvás Róbert
robert.jarvas at gmail.com
2012. Jan. 30., H, 19:51:36 CET
persze (bár az archívumban már benne van)
2012/1/30 Nagel Istvan <nagel at mixat.hu>
>> nekem több meghajtót csatol fel jogosultság szerint kinek mennyi van
>> engedve,
>
>
> Ez a megoldás jobban tetszik, megosztanád a fájlodat?
>
Egy kicsit tovább fejlesztettem (bár nem értek a script íráshoz) mivel
van egy elég nagy hibája ennek a scriptnek, nevezetesen, hogy hibás
felhasználónévvel és/vagy jelszóval is lefut visszajelzés nélkül. Erre
azt a megoldást "trükköt" találtam ki, hogy a home könyvtár meglétét
vizsgálom meg (nálam ez H meghajtó) mert ha ez megvan akkor helyes
volt az autentikáció és megy tovább ha viszont nincs H meghajtó, dob
egy hibaüzenetet és fent marad a bejelentkező ablak. Egyébként
window.close().
(Ha tudja valaki hogy kell valóban user/pass ellenőrzést csinálni azt
szívesen veszem.)
Hogy kinek melyik megosztáshoz van joga azt a samba szabályozza (valid
users = @tanulok, @tanarok)
íme a kód:
<script language="VBScript">
<!--
Sub OKButton_OnClick
Dim net
Set net = CreateObject("WScript.Network")
driveletter = "h:"
name = UserNameBox.value
name = Trim(name)
pswd = PasswordBox.value
pswd = Trim(pswd)
UserNameBox.value = ""
PasswordBox.value = ""
CheckNetworkDrive = False
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "net use h: \\nori\homes /PERSISTENT:NO " & pswd & "
/user:" & name,,True
For Each Drive In net.enumNetworkDrives
If LCase(Drive) = LCase(driveletter) Then
WshShell.Run "net use t: \\nori\tanulo /PERSISTENT:NO " & pswd & "
/user:" & name,,True
WshShell.Run "net use t: \\nori\tanulok /PERSISTENT:NO " & pswd & "
/user:" & name,,True
WshShell.Run "net use k: \\nori\tanarok /PERSISTENT:NO " & pswd & "
/user:" & name,,True
WshShell.Run "net use p: \\nori\publikus /PERSISTENT:NO " & pswd & "
/user:" & name,,True
WshShell.Run "net use o: \\nori\igazgatok /PERSISTENT:NO " & pswd &
" /user:" & name,,True
WshShell.Run "net use z: \\nori\gazdasagi /PERSISTENT:NO " & pswd &
" /user:" & name,,True
WshShell.Run "net use i: \\nori\install /PERSISTENT:NO " & pswd & "
/user:" & name,,True
WshShell.Run "explorer"
window.close()
CheckNetworkDrive = True
End If
Exit For
next
If CheckNetworkDrive = False Then
MsgBox "Hibás felhasználónév VAGY jelszó!"
End If
End Sub
'-->
</script>
--
Robert
További információk a(z) Techinfo levelezőlistáról