Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Software-Installation anhand eines VB-Scripts und Logon-Script

Frage Entwicklung VB for Applications

Mitglied: GenerallError

GenerallError (Level 1) - Jetzt verbinden

28.07.2010, aktualisiert 29.07.2010, 5007 Aufrufe, 2 Kommentare

Hallo

Mein Netzwerk:
- Windows 2003 Server
- Windows XP Clients

Mein Vorhaben:
Ich habe ein .MSI-Paket und würde den jetzt gerne im Netzwerk verteilen. Betroffen sind ca. 300 Computer.

Über das AD kann ich die Softwareverteilung nicht durchführen, weil die Computer nicht gruppiert sind (ich müsste jeden Computer einzeln bei der GPO eintragen) und das ist mir zu aufwändig....da suche ich lieber stundenlang nach einer Lösung im Internet ^^

Wie ich das Script dann am Ende einbinde ist kein Problem. Nur tue ich mir schwer beim Erstellen des Scripts.

Zu min. habe ich mal ein Script gefunden das dass kann:

01.
'============================================START============================================= 
02.
 
03.
On Error Resume Next 
04.
 
05.
' Variablen zur Deinstallation 
06.
Dim WshShell, Path, Value, Typ 
07.
 
08.
strComputer = "." 
09.
Set objWMIService = GetObject("winmgmts:" _ 
10.
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
11.
 
12.
Dim objFSO, objTextFile, colSoftware 
13.
 
14.
' Variablen für die CMD Befehle 
15.
Set CMD = WScript.CreateObject("WScript.Shell") 
16.
Dim CmdRun 
17.
 
18.
' Variablen für die Deinstallation 
19.
Dim  objWMIService, objSoftware 
20.
Dim User, Password, Computer, ProductName 
21.
 
22.
' Variablen für die Deinstallation 
23.
Dim objWBemLocator, objConnection 
24.
Dim InstallError 
25.
 
26.
' Variablen für MsgBox und andere zwecke 
27.
Dim y, x, installTM, deinstallSAV, installEnd, SAVserverPath, TMserverIP, TMOSpack, HelpdeskName, HelpdeskMail, HelpdeskTel, Creg 
28.
 
29.
deinstallSAV = False 
30.
installTM = False 
31.
installEnd = False 
32.
 
33.
 
34.
TMserverIP = "IP" 
35.
TMOSpack = "\Pfad des MSI-Pakets" 
36.
HelpdeskName = "Name" 
37.
HelpdeskMail = "Mail angeben" 
38.
HelpdeskTel = "Tel angeben" 
39.
User = "Admin-Account" 
40.
Password = "Password" 
41.
 
42.
 
43.
'y = MsgBox("Bitte schliessen Sie SOFORT alle Programme, und klicken Sie danach auf OK" & vbCrLf & _ 
44.
'			"Es wird auf Ihrem Compouter der neue Antivirenschutz installiert.", ,"!!!ACHTUNG!!! BITTE LESEN !!!") 
45.
 
46.
'---------------------------------------------------------------------------------------------- 
47.
' Abfrage ob Symantec AntiVirus installiert ist und setzt die Variablen dem entsprechend. 
48.
 
49.
Set colSoftware = objWMIService.ExecQuery _ 
50.
    ("SELECT Description FROM Win32_Product where Description="&"""Symantec AntiVirus""") 
51.
 
52.
For Each objFeature in colSoftware 
53.
'WScript.Echo objFeature.Description & " wird Deinstalliert." 
54.
 x = objFeature.Description 
55.
  
56.
	 If "Symantec AntiVirus" = x Then 
57.
'	 		Set CmdRun = CMD.Popup("Eine Symantec AntiVirus Software ist Installiert."& vbCrLf & _ 
58.
'	 							   "Dieses Fenster schliesst automatisch in 15 Sekunden oder wählen Sie 'OK'. Danke.",15,"Administrator",vbInformation) 
59.
			y = MsgBox("Bitte schliessen Sie nach dem aufstarten des Computer SOFORT alle Fenster und alle Programme. Klicken Sie erst danach auf OK" & vbCrLf & _ 
60.
						"Es wird auf Ihrem Compouter der neue Antivirenschutz installiert.", ,"!!!ACHTUNG!!! BITTE LESEN !!!") 
61.
	 		deinstallSAV = True 
62.
	 Else 
63.
'	 		Set CmdRun = CMD.Popup("Keine Symantec AntiVirus Software ist Installiert." & vbCrLf & _ 
64.
'	 							   "Dieses Fenster schliesst automatisch in 15 Sekunden oder wählen Sie 'OK'. Danke.",15,"Administrator",vbInformation) 
65.
	 		installTM = True 
66.
	 End If 
67.
Next 
68.
'---------------------------------------------------------------------------------------------- 
69.
 
70.
 
71.
'---------------------------------------------------------------------------------------------- 
72.
' Der User wird Informiert, das Symantec AntiVirus wird Deinstalliert oder die Trendmicro install Variable wird gesetzt. 
73.
 
74.
If deinstallSAV = True Then 
75.
 
76.
	' Ein nettes Wort zum User 
77.
	Set CmdRun = CMD.Popup("Symantec AntiVirus wird Deinstalliert und der PC wird in einigen Minuten neugestartet um danach Trend Micro Antivirus zu installieren." & vbCrLf & _ 
78.
						"Bei Fragen meldem Sie sich beim " & HelpdeskName & " " & HelpdeskMail & " oder Tel.: " & HelpdeskTel & "." & vbCrLf & _ 
79.
						"Dieses Fenster schliesst automatisch oder wählen Sie 'OK'. Danke.",120,"Administrator",vbInformation) 
80.
 
81.
	'Hier beginnt die Deinstallation von Symantec AntiVirus 
82.
	  
83.
	Set WshShell = CreateObject("WScript.Shell") 
84.
	 
85.
	Path = "HKEY_LOCAL_MACHINE\SOFTWARE\Intel\LANDesk\VirusProtect6\CurrentVersion\AdministratorOnly\Security\UseVPUninstallPassword" 
86.
	Value = 0 
87.
	Typ = "REG_DWORD" 
88.
	 
89.
	WshShell.RegWrite Path, Value, Typ 
90.
	 
91.
'		If  Err.Number <> 0 Then 
92.
'		    WScript.Echo "Beim Bearbeiten der Registry ist ein " &_ 
93.
'		    "Fehler aufgetreten: " & Err.Number 
94.
'		Else 
95.
'		    WScript.Echo "Die Registry wurde erfolgreich bearbeitet" 
96.
'		End If 
97.
 
98.
		Computer = "." 
99.
		ProductName = "Symantec AntiVirus" 
100.
		 
101.
		Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator") 
102.
		Set objConnection = objwbemLocator.ConnectServer _ 
103.
		    (Computer, "root\cimv2", User, _ 
104.
		     Password) 
105.
		 
106.
		Set colSoftware = objConnection.ExecQuery ("SELECT * FROM Win32_Product" &_ 
107.
		    "WHERE Name = """ & ProductName & """") 
108.
		 
109.
		For Each objSoftware in colSoftware 
110.
		    objSoftware.Uninstall() 
111.
		Next		 
112.
	 
113.
	' Hier endet die Deinstallation von Symantec AntiVirus 
114.
Else 
115.
	installTM = True 
116.
End If 
117.
'---------------------------------------------------------------------------------------------- 
118.
 
119.
'---------------------------------------------------------------------------------------------- 
120.
' Trendmicro wird installiert falls nötig. 
121.
 
122.
If installTM = True Then 
123.
 
124.
	Set WshShell = CreateObject("WScript.Shell") 
125.
	CReg = WshShell.RegRead ("HKLM\SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion\Server") 
126.
	'MsgBox CReg 
127.
 
128.
 
129.
	' Hier beginnt die Installation von TM Officescan 
130.
	If CReg = TMserverIP Then  
131.
		'MsgBox "TrendMicro ist bereits installiert"		 
132.
	Else 
133.
		Computer = "." 
134.
		 
135.
		Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator") 
136.
		Set objConnection = objwbemLocator.ConnectServer _ 
137.
		    (Computer, "root\cimv2", User, _ 
138.
		     Password) 
139.
		 
140.
		Set objSoftware = objConnection.Get("Win32_Product") 
141.
		 
142.
		InstallError = objSoftware.Install(TMOSpack,,True) 
143.
 
144.
'		If InstallError = 0 Then 
145.
'		    WScript.Echo "Die Installation war erfolgreich." 
146.
'		Else 
147.
'		    WScript.Echo "Bei der Installation ist " &_ 
148.
'		    "folgender Fehler aufgetreten: " & InstallError 
149.
'		End If 
150.
		 
151.
		'Dies ist die installationszeile falls der User lokale Adminrechte hat.		 
152.
		'Set CmdRun = CMD.Run(TMOSpack) 
153.
		installEnd = True 
154.
	End If  
155.
	' Hier endet die Installation von TM Officescan		 
156.
 
157.
Else 
158.
 
159.
	' Ein nettes Wort zum User 
160.
	Set CmdRun = CMD.Popup("Der PC wird neugestartet um danach Trend Micro Antivirus zu installieren." & vbCrLf & _ 
161.
						"Bei Fragen meldem Sie sich beim " & HelpdeskName & " " & HelpdeskMail & " oder Tel.: " & HelpdeskTel & "." & vbCrLf & _ 
162.
						"Dieses Fenster schliesst automatisch oder wählen Sie 'OK'. Danke.",120,"Administrator",vbInformation) 
163.
 
164.
End If 
165.
'---------------------------------------------------------------------------------------------- 
166.
 
167.
 
168.
If installEnd = True Then 
169.
			 
170.
	' Ein nettes Wort zum User 
171.
	Set CmdRun = CMD.Popup("Danke für Ihre Geduld, es wird Ihnen der neue Antivirenschutz installiert. Das kann einige Minuten dauern." & vbCrLf & _ 
172.
							"Bei Fragen meldem Sie sich beim " & HelpdeskName & " " & HelpdeskMail & " oder Tel.: " & HelpdeskTel & "." & vbCrLf & _ 
173.
							"Dieses Fenster schliesst automatisch oder wählen Sie 'OK'. Danke.",120,"Administrator",vbInformation) 
174.
Else 
175.
 
176.
 
177.
End If 
178.
 
179.
 
180.
'============================================ENDE==============================================
Ergänzungen: (zum Script)
Dieses Script überprüft die Installation einer vorhandenen Software (anhand des Registryeintrages). Falls die SW installiert ist, wird sie deinstalliert. Falls die SW nicht zu finden ist, wird ohne eine Deinstallation das neue Antivirus-Programm installiert. Hier werden noch Angaben zum Benutzer (User, PW) weitergegeben (was ich aber leider nicht ganz interpretieren kann....da mir das Wissen momentan noch leider fehlt).

Ergänzungen: (zu meinem Vorhaben)
- Die Benutzer haben keine Einschränkungen aur ihren Computern (sind alle lokale Admins)
- Das .MSI-Paket welchen es zu installieren gilt befindet sich auf dem File-Server und die Freigabe wurde getätigt.

Nun sind die Programmierer gefragt...danke.
Mitglied: GenerallError
30.07.2010 um 14:41 Uhr
Also, scheinbar verwirrt euch das Script...ich versuchs mal ganz unabhängig davon.

Ich will eine Software auf den Firmen-Computern installieren.
- ich verfüge über kein Evaluierungs-Programm
- Verteilung über AD nicht mögich

Die einzige Möglichkeit die ich hier habe ist:
- Logon-Script: VBS

Mein Vorhaben:
- Der Benutzer soll von der ganzen Sache nichts mitbekommen (Silent-Mode)
- Auslesen der Registry (ist die Software bereits installiert?)
- Falls ja, nichts mehr unternehmen
- Falls nein, soll die Software installiert werden (die Datei liegt auf dem File-Server und wurde für die Benutzer freigegeben). Es handelt sich um ein MSI-Paket.

Würde es auch gehen wenn ich den msiexec ausem cmd irgendwie in VBS einbinde?

Das ist alles. Das Script weiter oben kann ignoriert werden (wenn es wen irritiert). Ich bin auch offen für völlig neue Ansätze.
Bitte warten ..
Mitglied: GenerallError
02.08.2010 um 09:19 Uhr
Ich könnte das auch wie folgt machen:

MSIEXEC:
01.
msiexec /i \\Server\Pfad\*.MSI /qn
Und das funktioniert bei mir auch ma soweit. Jetzt hätte ich aber gerne noch eine Überprüfung (nicht das er mir das Tool bei jedem Neustart installiert).

Weitere Frage:
Wie kann ich das benutzte OS ausfindig machen? Mich interessiert eher das wie als das wo.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft
Windows 10 logon script: alle Apps löschen (3)

Frage von thomasreischer zum Thema Microsoft ...

Windows Server
gelöst Automatische Software Installation .MSI (8)

Frage von Hendrik2586 zum Thema Windows Server ...

Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...