ManLerntNieAus
Newbie
- Registriert
- Aug. 2012
- Beiträge
- 2
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:
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
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:
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 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