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

Geschrieben

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

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...