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