Gå til innhold

Script som leser fra registret


Anbefalte innlegg

Hei! Nå vet jeg ikke om noen har fått det med seg, men jeg har hatt masse problemer med tynnklienter og dette med å få dem fram i AD osv.

Etterhvert som jeg ikke har funnet ut av dette har jeg også såsi glemt det.

 

Helt til i dag! Fordi jeg fant et lite program som legger til to stringer i registryen der det står både ip-adresse og klient-navn på den klienten som er tilkoblet sessionen. Altså uansett hvilken tynnklient jeg logger på, vil informasjonen i den delen av registryen kun handle om klienten jeg er logget på med.

 

Derfor trenger jeg et lite script som gjør følgende:

 

Hent datamaskinnavn fra HKEY_CURRENT\Environment\CURRENT_CLIENTNAME

og sjekker om navnet samsvarer med oppføringer i samme script. Det er forresten en SZ value som skal sjekkes.

 

F.eks om jeg har en liste over si 10 klientnavn vil jeg at scriptet skal sjekke om det som står under registry oppføringen er samme navn som et av de i listen.

Om dette er tilfellet, vil jeg at scriptet skal kjøre en registryfil.

 

Kan dette være mulig? Takker for all hjelp isåfall! Dette vil hjelpe meg noe ENORMT! :)

Endret av raziel014
Lenke til kommentar
Videoannonse
Annonse

Dersom du benytter VBScript, har du tilgang til tre enkele og lettfattelige prosedyrer i WSH-objektet: RegRead, RegRead og RegWrite. Disse skulle normalt sett fungere helt ypperlig.

 

I dette tilfellet kan du imidlertid ikke alltid forvente at informasjonen vil befinne seg på akkurat dette stedet klar til avlesning. Derfor er det meget bedre å benytte avlesningsprosedyrer for enviroment-variabler, som jo dette egentlig er.

 

Da kan du eksempelvis gjøre dette således:

 

' Initialiser objektmodul med de ønskede funksjoner

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

 

' Hent gjeldene klientnavn

strClientName = Shell.ExpandEnvironmentStrings("%CURRENT_CLIENTNAME%")

 

' Korresponderer klientnavnet med angitte oppføringer og utfør oppgaver deretter

Select Case strClientName

Case "klient1"

 

' Her kan du utføre de nødvendige oppgaver dersom «klient1» logger på

 

Case "klient2"

 

' Osv.

 

End Select

Endret av aadnk
Lenke til kommentar

Jaha? Nå tror jeg ikke jeg forstår logikken helt i dette. Altså der det står "strClientName = Shell.ExpandEnvironmentStrings ("%CLIENTNAME%")

 

Hvordan greier det å finne navnet på klienten når navnet på variablen ikke CLIENTNAME?

 

Og si at at klient1 har akkurat samme navn som det som blir funnet. Skal det ikke da være en IF eller noe sånt under Case "klient1"? F.eks IF match, then run c:\proxy.reg?

 

Edit: Det må stå ("%CURRENT_CLIENTNAME%") for at det skal fungere. Hva ("%CLIENTNAME%") gjør aner jeg ikke! Men det kom fram navnet på en annen tynnklient når jeg satt "msgbox strClientName" under :shrug:

Endret av raziel014
Lenke til kommentar
Edit: Det må stå ("%CURRENT_CLIENTNAME%") for at det skal fungere. Hva ("%CLIENTNAME%") gjør aner jeg ikke! Men det kom fram navnet på en annen tynnklient når jeg satt "msgbox strClientName" under :shrug:

5293211[/snapback]

Beklager, jeg må ha glemt å fjerne testvariabelnavnet når jeg sjekket om koden fungerte, da jeg ikke har variabelen CURRENT_CLIENTNAME. Det er nå rettet i det foregående innlegget.

 

Og si at at klient1 har akkurat samme navn som det som blir funnet. Skal det ikke da være en IF eller noe sånt under Case "klient1"? F.eks IF match, then run c:\proxy.reg?

5293211[/snapback]

Select Case fungerer i dette tilfellet på nøyaktig samme måte som IF-syntaksen. Det er bare å skrive inn den ønskede koden innunder Case-linjen. Bemerk at dette er VBScript og koden må følgelig lagres som en VBS-fil. For å kjøre BAT-filer (eller liknende), må du inkludere denne kommandoen:

 

Shell.Run "[sti til kjørbar fil]"

Du behøver ikke å skrive inn hele stien dersom filen du ønsker å kjøre befinner seg i samme mappe eller i en av PATH-mappene.

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...