Top-Themen

Aktuelle Themen (A bis Z)

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, 5173 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 ..
Ähnliche Inhalte
VB for Applications
VB-Script in VB-Script starten und Parameter übergeben
gelöst Frage von denkisVB for Applications7 Kommentare

Hallo liebe Scriptgemeinde, ich muss mehrere Rechner für den Übergang in eine neue Domäne vorbereiten. Dafür sind drei wesentliche ...

Batch & Shell
Script für Installation und Deinstallation einer Software im Netzwerk
Frage von vekiceBatch & Shell3 Kommentare

Hallo zusammen Ich möchte eine neue MSI Software auf diversen Win PCs im Netzwerk installieren. Die PCs haben lokale ...

Windows Userverwaltung
Logon script bleibt hängen
Frage von frakaciWindows Userverwaltung4 Kommentare

Hallo Leute. Folgendes Problem: In unserer Domäne wird mit lokalen Profilen gearbeitet, damit die User auch offline arbeiten können. ...

Batch & Shell
Standarddrucker per Logon Script
gelöst Frage von QugartBatch & Shell10 Kommentare

Hallo zusammen! ich hab hier einen Drucker, den ich per Logon Script als Standard zuweisen will. Der Drucker namens ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 104 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell13 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...