Jump to content

PowerShell IPsammling und Soft+Hardwareliste miteinander verbinden, aber wie?


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

Empfohlene Beiträge

Hallo liebe ITler,

 

ich habe hier schon einmal einen Post gemacht zum IP's sammeln, habe auch was gefunden und versucht in meine Hard- und Softwareliste einzubauen. Leider hat es nicht wirklich funktioniert. Außerdem habe ich bei meiner Hard- und Softwareliste einen seltsamen Fehler drinnen, wenn ich es einmal durchlaufen lassen.

Bin Anfänger und habe nicht wirklich das KnowHow...

 

Hier ist der Code:

 

$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 IP's vom Netzwerk
$i =1
$Ip = "192.168.0."
$ipsamling = @()
Write-Host "IP Address"
Write-Host "----------------------------------------"
do { $Ip4th = $Ip + $i
$Pingy = get-WmiObject Win32_PingStatus -f "Address='$Ip4th'"
if($Pingy.StatusCode -eq 0) {
"{0,0} {1,5} {2,5}" -f
$Pingy.Address, $Pingy.StatusCode," ON NETWORK"
$ipsamling += $Pingy.Address
}
else
{"{0,0} {1,5} {2,5}" -f $Pingy.Address, $Pingy.StatusCode, " xxxxxxxxx"
}
$i++
}
until ($i -eq 255)

echo "Kontakt til:"
echo $ipsamling
# Abpeichern der IP'S in eine Liste
#get-WmiObject -query $Query -ipsamling $_ | select Ip | export-csv -path .\$svr\Computerversuch.csv –noType

# Import der Computernamen
$Computernamen = Get-Content \.$ipsammling 
$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
}

 

Bei diesem Teil in der Softwareliste kommt beim ersten Durchlauf immer ein Fehler:

 

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

 

Ich würde mich sehr über Hilfe freuen!

 

Danke schonmal und einen schönen Freitag

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...