tackletier
Goto Top

Script zur Aufspürung unerwünschter installierter Software mit Benachrichtigung

Hallo liebe Community,

ich hoffe Ihr könnt mir helfen.
Auf einigen PC´s im Unternehmen sind unerwünschte Programme installiert. welche schon seit jahren installiert sind.
Bei allen PC´s die neu aufgesetzt werden, werden die Programme nicht mehr mit installiert.
Die Programme liegen immer im Standart installationsverzeichniss und ich möchte diese gerne per Script aufspüren.
Zudem sollte von dem Script aus bei erkennen eines solchen Programmes ein Datei entweder in einem Netzlaufwerk abgelegt werden.
Darin sollte erkennbar sein welchen Netzwerknamen der PC hat.
Oder die Meldung sollte per E-mail versendet werden, ein Exchangeserver ist vorhanden.

Hat jemand schonmal so etwas gescriptet oder eine Idee wie man da vorgehen könnte?

MfG

Sven

Content-ID: 97072

Url: https://administrator.de/contentid/97072

Ausgedruckt am: 20.11.2024 um 00:11 Uhr

Avaatar
Avaatar 16.09.2008 um 16:26:15 Uhr
Goto Top
Hi,

ich habe wenig Zeit momentan um viel zu schreiben, aber guck Dir einfach mal den Batch Befehl "If [not] exists" an. Dafür musst Du natürlich genau wissen, wonach Du suchst. Du kannst hiermit aber nach Dateien suchen, und entsprechende Handlungen dann vornehmen (Textdatei auf share schreiben).
rdklie
rdklie 16.09.2008 um 16:54:20 Uhr
Goto Top
Hallo Sven

Ich habe mal ein Script geschrieben, welches die gesamten installierten Softwares anzeigt. Jedoch setzt dieses Script voraus, dass alle Computer im Netzwerk das selbe loginscript haben. Falls es dich trotzdem wundernimmt, hier der code:

(bei diesem Script ist der Computername des PCs gleich der Name des erstellten txt- Files)

If Value = "5.0" Or Value = "5.1" Then  

		strComputer = "."  
		strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"  
		
		strEntry1a = "DisplayName"  
		strEntry1b = "QuietDisplayName"			  
		
		Set objReg = GetObject("winmgmts://" & strComputer & _  
		 "/root/default:StdRegProv")  
		objReg.EnumKey HKLM, strKey, arrSubkeys
		
		strOutputFile = "irgendein Netzwerkpfad wo die txt files ausgegeben werden sollen" & ComputerName & "_" & CurrentUser & ".txt"  
		Set objOutputFile = fs.CreateTextFile(strOutputFile, True)
		
		For Each strSubkey In arrSubkeys
		  intRet1 = objReg.GetStringValue(HKLM, strKey & strSubkey, _
		   strEntry1a, strValue1)
		  If intRet1 <> 0 Then
		    objReg.GetStringValue HKLM, strKey & strSubkey, _
		     strEntry1b, strValue1
		  End If
		  If strValue1 <> "" Then  
		      	objOutputFile.WriteLine(strValue1)
		  End If
		
		Next
		
		Set objFileSystem = Nothing
		objOutputFile.Close

	End If
			
 End Sub 

Gruss
Rdklie
tackletier
tackletier 16.09.2008 um 18:30:59 Uhr
Goto Top
Danke Rdklie,

kannst du mir bitte noch sagen was für eine Programmiersprache das ist bzw, mit was ich den Quelltext Compilieren muss?

Gruss
Sven
60730
60730 16.09.2008 um 18:56:44 Uhr
Goto Top
Servus Sven,

das ist ein script - siehe
Jedoch setzt dieses Script voraus...

speichere das ab und gebe dem Schnippsel ein .vbs am ende...

Gruß