Avatar billede mr_cash Nybegynder
16. november 2007 - 13:37 Der er 9 kommentarer og
1 løsning

Vbscript ved installation og afinstallation af applikation

Hej Alle

I forbindelse med installation af msi pakke, skal scriptet lave :

Det scriptet skal lave er , læse hostname ( workstation name ) også lave et tekst dokument og gemme det som syntakts hostnavn.add ( workstation navn ) og inde i det dokument , skal den skrive hvilke OS det er : Feks  ( Win2000 eller WinXP )
Udover det skal dokumentet gemmes på en server : eksempel på stien  \\produktion\lan\add\

Scriptet skal også håndtere ved af installation af msi pakke, skal den gemme et tekst dokument,
under \\produktion\lan\remove\  med syntakst hostnavn.rem og i dette tekst dokument, skal der også stå hvilket OS det er.

Er det nogle kloge hoveder som kan hjælpe mig.
Avatar billede oskar Nybegynder
16. november 2007 - 16:10 #1
Den med OS er ikke så nem for systemet rapporter Windows_NT for en Windows XP, hvad den siger for 2000 ved jeg ikke, men kig på dette  eksempel som gemmer i c:\variabel.txt:

Dim objWSH
Dim objUserVariables
Dim objSystemVariables
Set objWSH =  CreateObject("WScript.Shell")

On Error Resume Next
Set WshShell=WScript.CreateObject("WScript.Shell")
pcnavn= WshShell.RegRead( "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName\ComputerName")

Set objSystemVariables = objWSH.Environment("SYSTEM")
styresystem = (objSystemVariables("OS"))

txt = "Pc = " & pcnavn
txt = txt & vbcrlf & "OS =" & styresystem

Const ForAppending = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("c:\variabel.txt", ForAppending, True)
objTextFile.WriteLine(txt)
objTextFile.Close
WshShell.Popup strMessage,1,"Indstillingerne gemmes"
Avatar billede mr_cash Nybegynder
16. november 2007 - 16:38 #2
Jeg har prøvet scriptet og for win2000 siger den :
Pc = Pc01
OS =Windows_NT

Som så er fint nok, men  for en xp, siger den :
Pc = Pc02
OS =Windows_NT

Pc navnet er forskelligt, som du kan se oven over, men OS det er det samme.

Her hvis det kan lade sig gøre, skulle der stå Win XP.

En anden ting , den tekst fil, som den laver i c:\variabel.txt , skal have
Pcnavnet, feks pc01.txt , istedet for det hedder variabel.
Avatar billede oskar Nybegynder
17. november 2007 - 11:32 #3
Problemet med OS navnet er at både 2000 og xp begge bare er overbygninger på Windows NT, så systemvariablen ser den som værende samme styresystem. Kunsten må derfor være at finde noget der adskiller de to systemer, f.eks i registreringsdatabassen. Jeg har kun XP herhjemme så jeg kan ikke finde noget unikt for 2000 før tidligst på mandag.

Med hensyn til filnavnet skal du blot ændre i fjerdesidste linje:
Set objTextFile = objFSO.OpenTextFile ("c:\" & pcnavn & ".txt", ForAppending, True)
eller
Set objTextFile = objFSO.OpenTextFile ("\\server\sti\" & pcnavn & ".txt", ForAppending, True)
hvis filen skal gemmes på en unc-sti.
Avatar billede oskar Nybegynder
17. november 2007 - 12:05 #4
Det blev alligevel ikke nødvendig at vente til mandag, jeg fandt løsningen på anden vis. Den sidste linje er bare med for at man kan se at der sker noget, den kan sagtens undværes.

Dim strComputer
strComputer="."
Set WshShell=WScript.CreateObject("WScript.Shell")
Dim objWMIService, colItems
  Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)
  For Each objItem in colItems
    styresystem = objItem.Caption
    pcnavn = objItem.CSName
  Next
txt = "Pc = " & pcnavn
txt = txt & vbcrlf & "OS =" & styresystem
Const ForAppending = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("c:\" & pcnavn & ".txt", ForAppending, True)
objTextFile.WriteLine(txt)
objTextFile.Close
WshShell.Popup strMessage,1,"Indstillingerne gemmes"
Avatar billede mr_cash Nybegynder
17. november 2007 - 12:17 #5
Oki det lyder cool...Jeg prøver det lige af iaften/nat og vender tilbage til dig...
Avatar billede mr_cash Nybegynder
18. november 2007 - 20:27 #6
Hey Oskar, det ser ud til at lykkes, takker ...
hvad er din mail add, hvis jeg får behov for din hjælp igen :-)
Avatar billede mr_cash Nybegynder
18. november 2007 - 20:28 #7
ohh... oskar fik du de point, da jeg ikke kan forstå hvorfor der står mit navn ?
Avatar billede mr_cash Nybegynder
18. november 2007 - 20:31 #8
Hvis du ikke har fået de point, så opretter jeg et fiktiv spørgsmål, også kan du få de point som du har fortjent....forstå ikke hvorfor der står mit navn...!! ???  men sig lige til... thnx ..
Avatar billede oskar Nybegynder
18. november 2007 - 21:51 #9
Hej mr cash
Hvis du laver et nyt spm med point skal du lige huske at lægge et link til det her så jeg kan finde det
Avatar billede mr_cash Nybegynder
19. november 2007 - 11:17 #10
Hey oskar, her har du linket.

http://www.eksperten.dk/spm/806489
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester