146207
Goto Top

Befehl in Script einfügen

Hallo Forum,

ich habe ein Script gefunden, das Hardwareinformationen eines Computers auf welchen es ausgeführt wird
in eine Textdatei schreibt. Nun möchte ich dieses Script mit einem Befehl kombinieren, so dass
es zuerst die Computer ausliest und dann die Informationen in eine Datei schreibt.

Mein Befehl:
Get-ADcomputer -Filter {operatingsystem -like 'Windows 7*'} -Properties * | ?{$_.Name -match '^(1\d{3}-\d{3})$'} | sort name | Format-Table name,operatingsystem,IPv4Address,canonicalname,lastlogondate  


Hier der Inhalt des Scriptes:
# Hardware Info Remote
    # Schreibt die Hardwareinformationen in eine Datei
    # www.JoeKadDev.de

    
    $datei = "N:\hardwareinfo.txt"  
    $system = Get-CimInstance CIM_ComputerSystem
    $BIOS = Get-CimInstance CIM_BIOSElement
    $betriebssystem = Get-CimInstance CIM_OperatingSystem
    $CPU = Get-CimInstance CIM_Processor
    $HDD1 = Get-CimInstance Win32_LogicalDisk -Filter "DeviceID = 'C:'"  
    $HDD2 = Get-CimInstance Win32_LogicalDisk -Filter "DeviceID = 'D:'"  
    $hostname = $system.Name
    $hersteller = $system.Manufacturer
    $model = $system.Model
    $seriennummer = $bios.SerialNumber
    $cpuname = $cpu.Name
    $hdd1daten = "{0:N2}" -f ($hdd1.Size/1GB) + " GB - " + "{0:P2}" -f ($hdd1.FreeSpace/$hdd1.Size) + " Frei (" + "{0:N2}" -f ($hdd1.FreeSpace/1GB) + " GB)"  
    $hdd2daten = "{0:N2}" -f ($hdd2.Size/1GB) + " GB - " + "{0:P2}" -f ($hdd2.FreeSpace/$hdd2.Size) + " Frei (" + "{0:N2}" -f ($hdd2.FreeSpace/1GB) + " GB)"  
    $ramdaten = "{0:N2}" -f ($system.TotalPhysicalMemory/1GB) + " GB"  
    $osname = $betriebssystem.caption
    $osservicepack = $betriebssystem.servicepackmajorversion
    $benutzer = $system.username
    $neustart = $betriebssystem.lastbootuptime
    Clear-Host
    Add-Content -Path $datei -Value "Hostname: $hostname "   
    Add-Content -Path $datei -Value "Hersteller: $hersteller "  
    Add-Content -Path $datei -Value "Model: $model "  
    Add-Content -Path $datei -Value "Seriennummer: $seriennummer "  
    Add-Content -Path $datei -Value "CPU: $cpuname "  
    Add-Content -Path $datei -Value "HDD1 Größe: $hdd1daten"  
    Add-Content -Path $datei -Value "HDD2 Größe: $hdd2daten"  
    Add-Content -Path $datei -Value "RAM: $ramdaten "  
    Add-Content -Path $datei -Value "Betriebssystem: $osname - Service Pack: $osservicepack "  
    Add-Content -Path $datei -Value "Aktueller Benutzer: $benutzer "  
    Add-Content -Path $datei -Value "Letzter Neustart: $neustart "  


Ist das möglich diese beiden Sachen zu kombinieren? Wenn es möglich ist, sollten die Informationen aus meinem Befehl
trotzdem mit angezeigt werden.

Content-Key: 609525

Url: https://administrator.de/contentid/609525

Printed on: May 2, 2024 at 13:05 o'clock

Member: NordicMike
NordicMike Oct 02, 2020 at 11:48:43 (UTC)
Goto Top
so dass es zuerst die Computer ausliest und dann die Informationen in eine Datei schreibt.
Das macht es doch schon. Zuerst liesst er die Infos mit den ganzen Get- Befehlen aus und am Ende schreibt er sie in eine Datei, das dsind dann die Add- Befehle.
Mitglied: 146207
146207 Oct 02, 2020 at 12:04:06 (UTC)
Goto Top
Hallo,
in Ordnung, was ich meinte ist, dass er zuerst die Computer aus der Active Directory sucht für den 1.Stock zum Beispiel, das ist hier mit

 
?{$_.Name -match '^(1\d{3}-\d{3})$'}   

gemeint, und dann natürlich die Hardwareinformationen der einzelnen Computer dann in diese Textdatei schreibt. So ist es eigentlich von mir gemeint.
Member: NordicMike
NordicMike Oct 02, 2020 at 12:09:55 (UTC)
Goto Top
was ich meinte ist, dass er zuerst
Wen definierst du mit "er". Willst du einen Server das Script ablaufen lassen, der per Remote die ganzen Daten ausliesst?
Mitglied: 146207
146207 Oct 02, 2020 at 12:16:24 (UTC)
Goto Top
Mit "er" meine ich den Computer. Hab hier einen Windows 10 Rechner, bei dem ich das Active Directory Modul installiert habe.

Willst du einen Server das Script ablaufen lassen, der per Remote die ganzen Daten ausliesst?
Ich weiß ja nicht wer das jetzt macht, mein Rechner oder der Active Directory Server. Ich gebe halt den Befehl
in der Powershell ein und die erledigt sozusagen diese Aufgabe.
Mitglied: 146207
146207 Oct 02, 2020 updated at 12:57:10 (UTC)
Goto Top
Hallo nochmal. Ich suche eigentlich nach einem Befehl der mir nach folgenden Kriterien sucht:

-Computernamen
-Betriebssystem


und dann die Computer mit deren Aduser mit folgenden Informationen ausgibt:

-computername
-computermodell
-Zugehörigkeit zu welcher AD-Gruppe
-username(der den Computer benutzt, falls das überhaupt möglich ist)
-operatingsystem
-IPv4Address
-canonicalname
-lastlogondate