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 im Netzwerk über PowerShell Script auslesen

Frage Entwicklung Batch & Shell

Mitglied: h1e15

h1e15 (Level 1) - Jetzt verbinden

14.09.2011, aktualisiert 18.10.2012, 10275 Aufrufe, 9 Kommentare

Hallo Leute...
...ich versuche momentan ein PowerShell-Script zu schreiben welches das Netzwerk durchsucht und mir die Rechner in eine CSV schreibt welche eine bestimmte Software installiert haben.
Ich habe ein fertiges Skript gefunden und versuche das gerade auf meine Bedürfnisse umzuschreiben, was mir aber leider nicht so gelingen will.

Das Skript
01.
$Hersteller = "%Microsoft%" 
02.
$Eingabedateiname = "computer.txt"  
03.
$Ausgabedateiname = "Softwareinventar.csv" 
04.
 
05.
filter select-Online 
06.
07.
   $status = Get-WmiObject Win32_PingStatus -Property StatusCode -filter "Address='$_'"  
08.
   if ($status.Statuscode -eq 0) 
09.
10.
      $_ 
11.
12.
13.
 
14.
# Import der Computernamen 
15.
$Computernamen = Get-Content $Eingabedateiname 
16.
$Computernamen | select-Online | foreach {  
17.
   Write-Host "Inventarisiere Software für Computer $_ ..." 
18.
   $Software += get-wmiobject win32_product -computername $_ -Filter "vendor like '$Hersteller'"  
19.
   } -end {  
20.
      # Export in CSV 
21.
      $Software | export-csv $Ausgabedateiname -notypeinformation 
22.
   }
Funktioniert auch soweit.....nur ich möchte eine kleine Änderung
In der Zeile 18 : mit -Filter "vendor like $Hersteller" sucht er ja aus der "Software-Liste" Software die mit einem Hersteller eingetragen wird. Aber bei einigen steht dieser Wert gar nicht da (z.B. beim Firefox welchen ich gerne suchen möchte) Wie kann ich da nur nach dem direkten Namen suchen. name like funktioniert nicht.
Der Rest funktioniert wirklich einwandfrei.

Wäre dankbar für Hilfe ... jemand der sich damit ein wenig besser auskennt, wird das mit Sicherheit mit Leichtigkeit beantworten können.
Über eine Alternative Lösung über eine Freeware die das kann würde ich mich auch freuen. Muss halt Freeware sein und ca 250 rechner auslesen können.

mfg h1e
Mitglied: DerWoWusste
14.09.2011 um 12:54 Uhr
Moin.

Du könntest psinfo -s benutzen und die Ausgabe mit findstr kürzen. psinfo ist Teil der kostenlosen pstools.
Bitte warten ..
Mitglied: hajowe
14.09.2011 um 13:27 Uhr
Hallo h1e,

Ändere doch die Filterbedingung und suche nich nach dem Object vendor sondern nach name

Schau dir das mal an
http://technet.microsoft.com/de-de/library/dd347651.aspx

Gruß
Hajowe
Bitte warten ..
Mitglied: h1e15
14.09.2011 um 13:31 Uhr
die seite hab ich schon durch ;)
also hab grad weiter getestet...
Wenn man vendor durch name tauscht, funktioniert das Script auch wunderbar aber nur mit verschiedenen namen -.-
Also bei Microsoft findet er Office etc.. Bei Adobe den Flash Player + Reader .. wunderbar
sobald ich Firefox oder Mozilla eingeb, findet er nichts, obwohl ich den definitiv bei mir drauf habe und ich meinen Rechner zum testen durchsuche -.-
Versteh momentan noch nich genau warum er das nicht macht.
Bitte warten ..
Mitglied: hajowe
14.09.2011 um 15:51 Uhr
Denke du hast Recht.
Ich habe auch mal über PS ISE
get-wmiobject win32_product -computername "localhost"
abgerufen und sehe da bei mir auch so einige nicht.

Ich kann derzeit auch nur vermuten das diese Programme ihre Einträge nicht so vornehmen, das sie mit
get-wmobject zum auslesen vorhanden sind.
"""""""""""""""""""""""""""""""""""""""""""""""
Auszug aus Hilfe
Sie haben nun mehrere Möglichkeiten kennengelernt, Anwendungen aufzulisten, die mit Windows Installer installiert werden. Dabei wurde jedoch noch nicht auf andere Anwendungen eingegangen. Da die Standardanwendungen i. d. R. eine Registrierung des Deinstallationsprogramms unter Windows vornehmen, können diese in der Windows-Registrierung gesucht und lokal bearbeitet werden.

Auflisten aller deinstallierbaren Programme
Eine hundertprozentige Sicherheit, alle Anwendungen auf einem System zu finden, besteht nicht. Es ist jedoch möglich, alle Programme zu finden, die im Dialogfeld "Software" aufgeführt sind. In der Systemsteuerungsoption "Software" finden Sie diese Anwendungen unter dem folgenden Registrierungsschlüssel:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall.

Die Anwendungen können auch über diesen Schlüssel gesucht werden. Um das Anzeigen des Uninstall-Schlüssels zu vereinfachen, kann einem Registrierungsspeicherort ein Windows PowerShell-Laufwerk zugeordnet werden:
Bitte warten ..
Mitglied: hajowe
14.09.2011 um 16:48 Uhr
Du findest die unter Systemsteuerung Software eingetragenen Programe
in dem du mit

damit6 abfragst und dann auswertest
get-childitem -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Ausgabe-Auszug :
...
0 11 Mozilla Firefox (3.6.12) {Comments, DisplayIcon, DisplayName, DisplayVersion...}
....
Bitte warten ..
Mitglied: h1e15
15.09.2011 um 08:03 Uhr
problem mit childitem ist das man kein filter direkt einbauen kann...naja man kann nachher ja auch die excel tabelle einfach filtern ..
...aber kriegs noch nich hin damit auf anderen computern zu suchen.
Bitte warten ..
Mitglied: DerWoWusste
15.09.2011 um 10:37 Uhr
Hi und vielen Dank, dass Du meinen Kommentar unkommentiert gelassen hast ;)
Willst Du es unbedingt mit der Powershell machen? psinfo -s läuft zumindest auch remote.
Bitte warten ..
Mitglied: hajowe
15.09.2011 um 11:04 Uhr
Damit du Remote auf andere Computer mit PowerShell zugreifen kannst sind einige Dinge zu beachten.
Denke dazu mußt du dich auch mit dem Thema

about_Remote_Requirements
(KURZBESCHREIBUNG
Beschreibt die System- und Konfigurationsanforderungen zum
Ausführen von Remotebefehlen in Windows PowerShell.

)

aus der Hilfe auseinander setzen.
Bitte warten ..
Mitglied: laster
16.09.2011, aktualisiert 18.10.2012
Hallo DerWoWusste,

ich finde PsInfo auch nicht schlecht (siehe http://www.administrator.de/wissen/inventur-mit-psinfo-125713.html), habe aber damit mittlerweile Probleme bei Servern mit Win2k8 und mehr als 4GB RAM. Ausserdem ist PsInfo auf dem RemoteRegistryDienst angewiesen und bleibt manchmal auf Grund von NichtErreichbarkeit-des-RemoteRechners einfach hängen - für BatchTasks ein echtes Problem...
Hardware lässt sich mit systeminfo besser auslesen (bleibt aber noch öfter hängen als PsInfo), Software wird aber damit nicht gelistet.

Ich werd mir mal das Script von h1e anschauen (vielleicht ist es eine Alternative zu PsInfo?).

Gruß
LS
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Router & Routing
Powershell: FritzBox über TR-064 im Netzwerk konfigurieren und auslesen

Anleitung von colinardo zum Thema Router & Routing ...

Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

VB for Applications
Powershell Script aus VBA heraus ausführen (2)

Frage von mcnico1978 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...