Jump to content

PowerShell Scannen des Netzwerkes nach Hosts


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

ich soll für meine Firma ein Programm entwickeln, dass eine Hardware und Softwareliste der Computer in einem Netzwerk erstellt. Die Hardware- und Softwareliste sind fertig. Es sieht bisher so aus:

 

    $Hersteller = "%Microsoft%"
   $Eingabedateiname = "computer.txt"
   $Query = "SELECT * FROM Win32_Product where not Vendor like '%Microsoft%'"

   filter select-Online
   {
   $status = Get-WmiObject Win32_PingStatus -Property StatusCode -filter "Address='$_'"
   if ($status.Statuscode -eq 0)
   { $_ }
   }

   # Import der Computernamen
   $Computernamen = Get-Content "Computerliste.txt"
   $Computernamen | foreach {
   if (Ping($_))
   {
   Write-Host "Inventarisiere Software für Computer $_ ..."
   # Auslesen der installierten MSI-Pakete auf allen Computern
   $Software += foreach-object {
   get-wmiobject -query $Query -computername $_ | select Name,
   Version |export-csv -path .\$svr\Softwareinventarliste.csv -noType
   }
   }
   else
   { Write-Error "Computer nicht erreichbar!" }
   }


   # Check to see if a directory exists for this machine, if not create one
   if (!(Test-Path -path .\$Computernamen)) {
   New-Item .\$Computernamen\ -type directory
   }

   # Get the server info
   #getwmiinfo $Eingabename zuerst laufen lassen, Fehlermeldung ignorieren, danach getwmiinfo $Computernamen eingeben und $Eingabename aus"rauten"
   # getwmiinfo $Eingabename
   getwmiinfo $Computernamen



   function getwmiinfo ($Computernamen) {
   # Get ComputerSystem info and write it to a CSV file
   gwmi -query "select * from
   Win32_ComputerSystem" -computername $Computernamen | select Name,
   Model, Manufacturer, DNSHostName,
   Domain, PartOfDomain, NumberOfProcessors,
   SystemType, TotalPhysicalMemory,
   UserName | export-csv -path .\$svr\ComputerSystem.csv -noType

   # Get OperatingSystem info and write it to a CSV file
   gwmi -query "select * from
   Win32_OperatingSystem" -computername $Computernamen | select Name,
   Version, FreePhysicalMemory, ServicePackMajorVersion,
   ServicePackMinorVersion | export-csv -path .\$svr\OperatingSystem.csv -noType

   # Get PhysicalMemory info and write it to a CSV file
   gwmi -query "select * from
   Win32_PhysicalMemory" -computername $Computernamen | select Name,
   Capacity, DeviceLocator,
   Tag | export-csv -path .\$svr\PhysicalMemory.csv -noType

   # Get LogicalDisk info and write it to a CSV file
   gwmi -query "select * from Win32_LogicalDisk
   where DriveType=3" -computername $Computernamen | select Name, FreeSpace,
   Size | export-csv -path .\$svr\LogicalDisk.csv –noType
   }

 

Sooo nun soll ich dafür Sorgen, dass alle Computer in einem Netzwerk abgefragt werden, möglichst automatisch und auch automatisch in einer Tabelle abgespeichert werden. Am besten als "computerliste.txt", damit dann gleich die Softliste und Hardwareliste erstellt wird.

 

Tja, da ich ein Anfänger bin, habe ich keine Ahnung, wie ich das bewerkstelligen kann... Könnt ihr mir vielleicht hierbei helfen?

 

Dankeschön, ManLerntNieAus

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...