Software-Installation anhand eines VB-Scripts und Logon-Script
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:
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.
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:
'============================================START=============================================
On Error Resume Next
' Variablen zur Deinstallation
Dim WshShell, Path, Value, Typ
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Dim objFSO, objTextFile, colSoftware
' Variablen für die CMD Befehle
Set CMD = WScript.CreateObject("WScript.Shell")
Dim CmdRun
' Variablen für die Deinstallation
Dim objWMIService, objSoftware
Dim User, Password, Computer, ProductName
' Variablen für die Deinstallation
Dim objWBemLocator, objConnection
Dim InstallError
' Variablen für MsgBox und andere zwecke
Dim y, x, installTM, deinstallSAV, installEnd, SAVserverPath, TMserverIP, TMOSpack, HelpdeskName, HelpdeskMail, HelpdeskTel, Creg
deinstallSAV = False
installTM = False
installEnd = False
TMserverIP = "IP"
TMOSpack = "\Pfad des MSI-Pakets"
HelpdeskName = "Name"
HelpdeskMail = "Mail angeben"
HelpdeskTel = "Tel angeben"
User = "Admin-Account"
Password = "Password"
'y = MsgBox("Bitte schliessen Sie SOFORT alle Programme, und klicken Sie danach auf OK" & vbCrLf & _
' "Es wird auf Ihrem Compouter der neue Antivirenschutz installiert.", ,"!!!ACHTUNG!!! BITTE LESEN !!!")
'----------------------------------------------------------------------------------------------
' Abfrage ob Symantec AntiVirus installiert ist und setzt die Variablen dem entsprechend.
Set colSoftware = objWMIService.ExecQuery _
("SELECT Description FROM Win32_Product where Description="&"""Symantec AntiVirus""")
For Each objFeature in colSoftware
'WScript.Echo objFeature.Description & " wird Deinstalliert."
x = objFeature.Description
If "Symantec AntiVirus" = x Then
' Set CmdRun = CMD.Popup("Eine Symantec AntiVirus Software ist Installiert."& vbCrLf & _
' "Dieses Fenster schliesst automatisch in 15 Sekunden oder wählen Sie 'OK'. Danke.",15,"Administrator",vbInformation)
y = MsgBox("Bitte schliessen Sie nach dem aufstarten des Computer SOFORT alle Fenster und alle Programme. Klicken Sie erst danach auf OK" & vbCrLf & _
"Es wird auf Ihrem Compouter der neue Antivirenschutz installiert.", ,"!!!ACHTUNG!!! BITTE LESEN !!!")
deinstallSAV = True
Else
' Set CmdRun = CMD.Popup("Keine Symantec AntiVirus Software ist Installiert." & vbCrLf & _
' "Dieses Fenster schliesst automatisch in 15 Sekunden oder wählen Sie 'OK'. Danke.",15,"Administrator",vbInformation)
installTM = True
End If
Next
'----------------------------------------------------------------------------------------------
'----------------------------------------------------------------------------------------------
' Der User wird Informiert, das Symantec AntiVirus wird Deinstalliert oder die Trendmicro install Variable wird gesetzt.
If deinstallSAV = True Then
' Ein nettes Wort zum User
Set CmdRun = CMD.Popup("Symantec AntiVirus wird Deinstalliert und der PC wird in einigen Minuten neugestartet um danach Trend Micro Antivirus zu installieren." & vbCrLf & _
"Bei Fragen meldem Sie sich beim " & HelpdeskName & " " & HelpdeskMail & " oder Tel.: " & HelpdeskTel & "." & vbCrLf & _
"Dieses Fenster schliesst automatisch oder wählen Sie 'OK'. Danke.",120,"Administrator",vbInformation)
'Hier beginnt die Deinstallation von Symantec AntiVirus
Set WshShell = CreateObject("WScript.Shell")
Path = "HKEY_LOCAL_MACHINE\SOFTWARE\Intel\LANDesk\VirusProtect6\CurrentVersion\AdministratorOnly\Security\UseVPUninstallPassword"
Value = 0
Typ = "REG_DWORD"
WshShell.RegWrite Path, Value, Typ
' If Err.Number <> 0 Then
' WScript.Echo "Beim Bearbeiten der Registry ist ein " &_
' "Fehler aufgetreten: " & Err.Number
' Else
' WScript.Echo "Die Registry wurde erfolgreich bearbeitet"
' End If
Computer = "."
ProductName = "Symantec AntiVirus"
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objConnection = objwbemLocator.ConnectServer _
(Computer, "root\cimv2", User, _
Password)
Set colSoftware = objConnection.ExecQuery ("SELECT * FROM Win32_Product" &_
"WHERE Name = """ & ProductName & """")
For Each objSoftware in colSoftware
objSoftware.Uninstall()
Next
' Hier endet die Deinstallation von Symantec AntiVirus
Else
installTM = True
End If
'----------------------------------------------------------------------------------------------
'----------------------------------------------------------------------------------------------
' Trendmicro wird installiert falls nötig.
If installTM = True Then
Set WshShell = CreateObject("WScript.Shell")
CReg = WshShell.RegRead ("HKLM\SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion\Server")
'MsgBox CReg
' Hier beginnt die Installation von TM Officescan
If CReg = TMserverIP Then
'MsgBox "TrendMicro ist bereits installiert"
Else
Computer = "."
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objConnection = objwbemLocator.ConnectServer _
(Computer, "root\cimv2", User, _
Password)
Set objSoftware = objConnection.Get("Win32_Product")
InstallError = objSoftware.Install(TMOSpack,,True)
' If InstallError = 0 Then
' WScript.Echo "Die Installation war erfolgreich."
' Else
' WScript.Echo "Bei der Installation ist " &_
' "folgender Fehler aufgetreten: " & InstallError
' End If
'Dies ist die installationszeile falls der User lokale Adminrechte hat.
'Set CmdRun = CMD.Run(TMOSpack)
installEnd = True
End If
' Hier endet die Installation von TM Officescan
Else
' Ein nettes Wort zum User
Set CmdRun = CMD.Popup("Der PC wird neugestartet um danach Trend Micro Antivirus zu installieren." & vbCrLf & _
"Bei Fragen meldem Sie sich beim " & HelpdeskName & " " & HelpdeskMail & " oder Tel.: " & HelpdeskTel & "." & vbCrLf & _
"Dieses Fenster schliesst automatisch oder wählen Sie 'OK'. Danke.",120,"Administrator",vbInformation)
End If
'----------------------------------------------------------------------------------------------
If installEnd = True Then
' Ein nettes Wort zum User
Set CmdRun = CMD.Popup("Danke für Ihre Geduld, es wird Ihnen der neue Antivirenschutz installiert. Das kann einige Minuten dauern." & vbCrLf & _
"Bei Fragen meldem Sie sich beim " & HelpdeskName & " " & HelpdeskMail & " oder Tel.: " & HelpdeskTel & "." & vbCrLf & _
"Dieses Fenster schliesst automatisch oder wählen Sie 'OK'. Danke.",120,"Administrator",vbInformation)
Else
End If
'============================================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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 147852
Url: https://administrator.de/contentid/147852
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
2 Kommentare
Neuester Kommentar