Just nu i M3-nätverket
Gå till innehåll

HJÄLP! windows 2003 VBS script


Mr O Mr T

Rekommendera Poster

Mr O Mr T

Jag får följande script att fungera fram till den mappade enhetsbokstaven H:

 

Mappningen mot bosktaven J och K mot server s2 fungerar inte alls. Jag får inget felmeddelanden eller någonting. Den bara vägrar att mappa upp VBS scriptet varför??? Det rä viktigt att kunna styra J och K med grupper från AD men det funkar ej.

 

Därefter kan jag ej mappa någonting från server s2 trots att rättigheter osv stämmer.

 

Vad är det jag missat nedan egentligen?

 

 

 

 

 

'*==================================================================

'*

'*==================================================================

Option Explicit

On Error Resume Next

 

'*==================================================================

'* //-- Main Script //-->

'*==================================================================

 

'Map drives

MapDrive "L:", "\\s1.local\dfs\Arkiv", True

RenDrive "L:", "Arkiv"

 

MapDrive "O:", "\\s1.local\dfs\filmer", True

RenDrive "O:", "filmer"

 

MapDrive "P:", "\\s1.local\dfs\Program\Meny", True

RenDrive "P:", "Meny"

 

'Rename HomeDirectory

RenDrive "H:", "Hemkatalog"

 

If InStr(strGroups, PROGRAM) Then

 

wshNetwork.MapNetworkDrive "J:", "\\s2\program"

 

ElseIf InStr(strGroups, HOGIA) Then

 

wshNetwork.MapNetworkDrive "K:", "\\s2\hogia"

 

 

 

'*==================================================================

'* //-- End Main Script //-->

'*==================================================================

 

'*==================================================================

'* Functions (Routines with return values)

'*==================================================================

 

'*==================================================================

'* Subroutines (Routines without return values)

'*==================================================================

 

'*==================================================================

'* Name : MapDrive

'* In : Letter of drive, path to drive, popup error

'* Out : -

'* Purpose : Map the drive according To input parameters

'* Comment :

'*==================================================================

Sub MapDrive(sLetter, sNetshare, bError)

On Error Resume Next

Dim sDrive

Dim bIsPresent

Dim oNet

Set oNet = CreateObject("WScript.Network")

'See If the drive is already in use

For Each sDrive In oNet.enumNetworkDrives

If LCase(sDrive) = LCase(sLetter) Then

bIsPresent = True

End If

Next

'Map the drive if it isn't allready present

If Not bIsPresent Then

If Not sNetshare = "" Then

oNet.MapNetworkDrive sLetter, sNetshare, False

If Err <> 0 Then

If bError Then

PopupMessage "Kunde inte mappa " & sLetter & " till " & sNetshare, 7

End If

Err.Clear

End If

End If

Else

'Remove previous mapping...

oNet.RemoveNetworkDrive sLetter, True, True

'Map the drive

oNet.MapNetworkDrive sLetter, sNetshare, False

If Err <> 0 Then

If bError Then

PopupMessage "Kunde inte mappa " & sLetter & " till " & sNetshare, 7

End If

Err.Clear

End If

End If

Set oNet = Nothing

End Sub

 

 

'*==================================================================

'* Name : RenDrive

'* In : DriveLetter, Label

'* Out : -

'* Purpose : Rename network drives to friendly names

'* Comment : RenDrive "H:\", "Home Directory"

'*==================================================================

Sub RenDrive(sDriveLetter, sLabel)

On Error Resume Next

Dim oShell

Set oShell = CreateObject("Shell.Application") ' Application Shell

'Check to see if the slash was entered as part of the argument passed

If Cstr(InStrRev(Mid(sDriveLetter,Len(sDriveLetter)), "\")) Then

sDriveLetter = Cstr(Trim(sDriveLetter))

Else

sDriveLetter = Cstr(Trim(sDriveLetter & "\"))

End If

oShell.NameSpace(sDriveLetter).Self.Name = Cstr(sLabel)

 

If err <> 0 Then

PopupMessage "Kunne ikke bytte navn på " & sLetter & " til " & sLabel, 7

err.Clear

End If

 

Set oShell = Nothing

End Sub

 

'*==================================================================

'* Name : PopupMessage

'* In : SMessage. The message to display

'* : sTime. How long the popup will display before closing

'* Out : -

'* Purpose : Pops up a message to the user

'* Comment :

'*==================================================================

Sub PopupMessage(sMessage, sTime)

Dim oWShell

Set oWShell = CreateObject("WScript.Shell") ' WScript Shell

oWShell.Popup sMessage & vbCRLF & vbCRLF & "(Dette vinduet stenges automatisk om " & sTime & " sekunder)", sTime, "Info", vbInformation

Set oWShell = Nothing

End Sub

 

 

 

Länk till kommentar
Dela på andra webbplatser

Anjuna Moon

Tja, eftersom du inte får ngt felmeddelande (vilket då även borde stryka behovet av användarnamn/lösenord i mappningen) så känns det som att if-satserna evalueras falska. Alltså innehåller strGroups ingen av strängarna definierade i konstanterna HOGIA och PROGRAM.

 

Var definierar du förresten de där konstanterna?

 

[inlägget ändrat 2006-05-04 16:57:23 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

Mr O Mr T

Vad är det jag missar då? Jag har en grupp som heter HOGIA och en grupp som heter Program. Hogia gruppen skall mappa hogiakatalogen på s2 till enhetsbokstaven K och Program gruppen skall mappa program på s2 till enhetsbokstaven J. Så vad är det jag missar i VBS scriptet????

 

 

Länk till kommentar
Dela på andra webbplatser

Anjuna Moon

Som jag frågade, var sätter du konstanterna? Eller är det meningen att det ska vara hårdkodade strängar? Isåfall har du glömt citationstecknen.

 

If InStr(strGroups, "PROGRAM") Then

 

resp.

 

ElseIf InStr(strGroups, "HOGIA") Then

 

Dessutom ser jag inte var strGroups sätts någonstans.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...