Gå til innhold

Anbefalte innlegg

Jeg har et lite problem jeg håpte noen smarte VB folk kunne hjulpet meg litt med, jeg skal nemlig lage et logon script som gir brukere hjemmeområder, andre områder som vi måtte ønske, printere og eventuelle programmer/regfiler vi vil at skal kjøres.

 

til nå så har jeg klart å få satt sammen dette:

 

strFileServer = "man-fp1"

strPrintServer = "man-fp1"

strShareOppgave = "oppgave"

 

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

Set objADSysInfo = WScript.CreateObject("ADSystemInfo")

Set objUser = GetObject("LDAP://" & objADSysInfo.Username)

 

'Enumerate user's groups

'Uses backets to uniquely distinguish group names

For Each objGroup In objUser.Groups

strGroups = strGroups & "[" & objGroup.Name & "]"

Next

 

'Enumerate current drives and printers

Set colDrives = objWshNetwork.EnumNetworkDrives

Set colPrinters = objWshNetwork.EnumPrinterConnections

 

'Remove existing drives and printers

For i = 0 To colDrives.Count - 1 Step 2

objWshNetwork.RemoveNetworkDrive colDrives.Item(i), True, True

Next

For i = 1 To colPrinters.Count Step 2

objWshNetwork.RemovePrinterConnection colPrinters.Item(i), True, True

Next

 

'Check for group membership and run associated commands

'Calls InGroup Function

If InGroup("CN=MAN_Ansatte") Then

'Map drives

objWshNetwork.MapNetworkDrive "J:", objUser.homeDirectory

objWshNetwork.MapNetworkDrive "O:", "\\" & strFileServer & "\" & strShareOppgave

' objWshNetwork.MapNetworkDrive "I:", "\\" & strFileServer & "\" & strShareProgram

' objWshNetwork.MapNetworkDrive "L:", "\\" & strFileServer & "\" & strSharePersonalFelles

' Map printers

objWshNetwork.AddWindowsPrinterConnection "\\" & strPrintServer & "\" & "kopimaskin"

 

End If

 

WScript.Echo "Testscript ferdig"

 

'Function to chech for group membership

Function InGroup(groupName)

InGroup = False

If InStr(strGroups,"[" & groupName & "]") <> 0 Then

InGroup = True

End If

End Function

 

 

 

Det jeg mangler, er noe som sjekker hostname på en maskin, og gir printer / diverse på grunnlag av det.

 

If InGroup("CN=MAN_Ansatte") Then

::her legges hjemmeområdet til basert på brukerens gruppe medlemskap::

 

så under der, vil jeg ha en funksjon som sjekker hostnamet, og gir printere på grunnlag av det, f.eks:

 

if InRom("CN=Rom140") then

::printer for det rommet legges til:: else

if InRom("CN=Rom120") then

::printer for rommet legges til :: else

så skulle jeg hatt en funskjon som gir printere om man ikke er i noen av rommene.

 

 

Håper noen forstod min HÅPLØSE forklaring og kan hjelpe meg litt :)

 

MVH Rolf

Lenke til kommentar
Videoannonse
Annonse

per dags dato bruker vi Kix som logon script, det er ALT for tregt, og Batch filer er ikke holdbart, må ha noe som kan sjekke opp mot AD med gruppemedlemskap og maskinavn.

 

Vi fant ut at VB var greit å bruke, så vi fikk noen eksempler, men jeg klarer ikke å få til å sjekke mot hostname :/

 

Så alle andre forslag om forskjellige logon script (med mindre de er eksepsjonelt bra) er det bare å glemme nå, jeg trenger ikke hjelp til det :)

 

Men om dere kan bidra med forslag til scriptet så motas det med HJERTELIG TAKK!

Hoved problemet nå er å få sjekka hostname , og kjørt det du trenger opp i mot det, som printer koblinger og brukerområder.

 

 

EDIT: Vi har ca en 500maskiner, og 15-16 klasserom det skal settes opp dependecies mot, i tillegg til 4-5grupper.

Endret av Neptyr
Lenke til kommentar
  • 2 uker senere...

Du kan hente Hostname på klient maskin på denne måten i vbscript

 

Dim wNet, Host
Set wNet = WScript.CreateObject("WScript.Network")
Host = wNet.ComputerName 

 

I din kode kan du jo bruke objWshNetwork.ComputerName ;)

Endret av Rep
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...