Gå til innhold

vbs login script - oppkobling mot delt mapper


Anbefalte innlegg

Hei

 

jeg har laget er login script som skal mappe opp mapper ved innlogging, men det er litt for basic.

 

Har noen et tips for hvordan å få "MappedDrive function" til å bruke de bokstavene som er tilgjengelig? Dvs "hoppe videre" hvis N: er opptatt?

 

På forhånd takk:)

 

 

 

'=================================================================

' Login Script

' Synkroniserer lokal klokke og dato med domenet

' kobler opp "brukernavn$" på \\server som M:

' Sjekker gruppemedlemskap og kobler opp tilsvarene delt ressurs

' Kobler opp HK katalogen som P:

'=================================================================

Option Explicit

 

Dim objGroupList, objUser, strGroup, objNetwork, strNTName, WshShell

Dim NetBiosDomainName, strHomeDrive, strHomeShare

NetBiosDomainName = "domene.no"

 

Set objNetwork = CreateObject("Wscript.Network")

 

strNTName = ""

On Error Resume Next

Do While strNTName = ""

strNTName = objNetwork.userName

Err.Clear

If Wscript.Version > 5 Then

Wscript.Sleep 100

End If

Loop

On Error GoTo 0

 

'====== Synchronizing local time with domain ======

On Error Resume Next

Set WshShell = WScript.CreateObject("Wscript.Shell")

WshShell.Run "%COMSPEC% /c net time /DOMAIN:" & NetBiosDomainName & " /SET /YES",0,true

 

'======== Bind user object in Active Directory ========

Set objUser = GetObject("WinNT://" & NetBiosDomainName & "/" & strNTName & ",user")

 

'======= Kobler opp "brukernavn$" på server ==

Dim strDriveLetter, strRemotePath, strUserName

strDriveLetter = "M:"

strRemotePath = "\\server"

 

Set objNetwork = WScript.CreateObject("WScript.Network")

strUserName = objNetwork.UserName

objNetwork.MapNetworkDrive strDriveLetter, strRemotePath _

& "\" & strUserName _

& "$"

 

'======= Map network drive based on group membership ==

if IsMember("Sikkerhetsgruppe") then

MappedDrive "N:", "\\server\mappe"

End if

 

'======== Map public drive ============================

MappedDrive "P:", "\\server\HK"

 

Greeting strNTName

Set objGroupList = Nothing

Set objUser = Nothing

Set objNetwork = Nothing

 

'=======================================================

' MappedDrive function

'=======================================================

Function MappedDrive (DriveLetter, SharedPath)

 

On Error Resume Next

If objNetwork.DriveExists(DriveLetter) Then

objNetwork.RemoveNetworkDrive DriveLetter, True, True

End If

On Error Resume Next

If objNetwork.DriveExists(SharedPath) Then

objNetwork.MapNetworkDrive DriveLetter, SharedPath

End if

End Function

 

'=======================================================

' IsMember function

'=======================================================

Function IsMember(strGroup)

 

If IsEmpty(objGroupList) Then

Call LoadGroups

End If

IsMember = objGroupList.Exists(strGroup)

End Function

 

'=======================================================

' LoadGroups function

'=======================================================

Sub LoadGroups

 

Dim objGroup

Set objGroupList = CreateObject("Scripting.Dictionary")

objGroupList.CompareMode = vbTextCompare

For Each objGroup In objUser.Groups

objGroupList(objGroup.name) = True

Next

Set objGroup = Nothing

End Sub

 

 

 

'=======================================================

' FormatLongDate Function

'=======================================================

Function GetTodayLongDate

 

Dim dDate

dDate = now()

GetTodayLongDate = WeekdayName(DatePart("w",dDate),0) & " " _

& MonthName(DatePart("m",dDate),1) & " " & DatePart("d",dDate) _

& ", " & DatePart("yyyy",dDate)

End Function

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...