UW-Forum

Forum von UW-Operator.de
Aktuelle Zeit: Donnerstag 15. November 2018, 01:22

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
Ungelesener BeitragVerfasst: Donnerstag 22. März 2018, 16:39 
Offline
Benutzeravatar

Registriert: Samstag 10. Dezember 2011, 17:19
Beiträge: 253
Beruf: SysAdmin
PC-System: Board: Gigabyte X58A-UD7 rev. 2.0
CPU: Intel i7 930 bei 3,5GHz
Speicher: 12GB Corsair Dominator
Grafikkarte: MSI GTX 970 Gaming 4G
HDD: SSD 850 EVO 500GB Platte
Gehäuse: NZXT Guardian 921
Betriebssystem: Windows 10 Pro 64bit
Wohnort: Horgau
Zeit das Inventarprogramm abzugleichen oder mit neuen Daten zu füttern?

Hier ein Skript mit einer Funktion, die das notwendige enthält.
Wie immer als Anregung gedacht um das Skript an die eigenen Bedürfnisse anzupassen...
Code:
<#
.Synopsis
   Liest die nötigen Computerinformationen aus Rechner aus um diesen im Inventar korrekt erfassen zu können.
.DESCRIPTION
   Die Computerinformationen werden vom Rechner geholt und zusammengefasst ausgegeben.
   Dies gibt uns die Möglichkeit die Daten für das Inventar zu sammeln oder diese mit den bestehenden Daten aus der Inventardatenbank abzugleichen.
   Sind auf dem Zielsystem oder den Zielsystemen andere Anmeldeinformationen erforderlich, so ist der Parameter Anmeldeinformationen auszuwählen.
.EXAMPLE
   Der Aufruf kann mit oder ohne Anmeldeinformationen erfolgen, im Beispiel wird nur ein Computer ausgewertet.
   Get-Hardwaredaten Computer0815
   Get-Hardwaredaten Computer0815 -Anmeldeinformationen
   Get-Hardwaredaten -ComputerName Computer0815
   Get-Hardwaredaten -ComputerName Computer0815 -Anmeldeinformationen
.EXAMPLE
   Der Aufruf kann mit oder ohne Anmeldeinformationen erfolgen, im Beispiel wird ein ganzes Array von Computern ausgewertet.
   Get-Hardwaredaten (Get-ADComputer -Filter *).Name
   Get-Hardwaredaten (Get-ADComputer -Filter *).Name -Anmeldeinformationen
   Get-Hardwaredaten -ComputerName (Get-ADComputer -Filter *).Name
   Get-Hardwaredaten -ComputerName (Get-ADComputer -Filter *).Name -Anmeldeinformationen
#>
function Get-Hardwaredaten
{
    [CmdletBinding()]
    [Alias()]
    [OutputType([int])]
    Param
    (
        # Computername der geprüft werden soll oder ein Array aus Computernamen.
        [Parameter(Mandatory=$true,
                   ValueFromPipelineByPropertyName=$true,
                   Position=0)]
        [string[]]
        $ComputerName,
        # Werden andere Anmeldeinformationen für den Computer benötigt?
        [switch]
        $Anmeldeinformationen
    )

    Begin
    {
    Clear-Host

    $skript =  {
    $computerinfo = Get-ComputerInfo -Property *
    $computerCPU = Get-CimInstance CIM_Processor
    $computerHDD = Get-CimInstance Win32_LogicalDisk -Filter "DriveType = '3'"
    $computerNET = Get-NetAdapter -Physical | where {$_.Status -eq "Up"}

    Write-Host "Auswertung der Hardwaredaten" -BackgroundColor Blue
    "Computer: " + $computerinfo.CsDNSHostName
    "Benutzer: " + $computerinfo.CsUserName
    "Hersteller: " + $computerinfo.CsManufacturer
    "Modell: " + $computerinfo.CsModel
    "Seriennummer: " + $computerinfo.BiosSeralNumber
    
    " - Software - "
    "Letzter Start: " + $computerinfo.OsLastBootUpTime
    "System: " + $computerinfo.CsSystemType + ", installiert ist: " + $computerinfo.OsArchitecture
    "Sprache: " + $computerinfo.OsLocale + ", Systemsprache: " + $computerinfo.OsLanguage
    "Betriebssystem: " + $computerinfo.WindowsProductName + ", Version: " + $computerinfo.OsHardwareAbstractionLayer + ", installiert am: " + $computerinfo.OsInstallDate.ToString()
    "BIOS Version: " + $computerinfo.BiosSMBIOSBIOSVersion
    "TeamViewer ID: " + (Get-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\TeamViewer" -Name ClientID).ClientID
    
    " - Hardware - "
    "CPU: " + $computerCPU.Name
    "RAM: " + "{0:N2}" -f ($computerinfo.OsFreePhysicalMemory/1MB) + " GB / {0:N2}" -f ($computerinfo.CsPhyicallyInstalledMemory/1MB) + " GB Frei - Prozentual noch {0:P2}" -f ($computerinfo.OsFreePhysicalMemory/$computerinfo.CsPhyicallyInstalledMemory) + " Frei"
    foreach($HDD in $computerHDD) {"HDD " + $HDD.DeviceID + " {0:N2}" -f ($HDD.FreeSpace/1GB) + " GB / {0:N2}" -f ($HDD.Size/1GB) + " GB Frei - Prozentual noch {0:P2}" -f ($HDD.FreeSpace/$HDD.Size) + " Frei"}
    foreach($NET in $computerNet) {
    $IP = $NET | Get-NetIPAddress
    $NET.LinkSpeed + " Netzwerk: " + $NET.InterfaceDescription + ", MAC-Adresse: " + $Net.MacAddress + ", IP-Adresse(n): " + $IP}    
    
    " - Installierte HotFix-Updates - "
    Get-HotFix | Format-Table
    }
    }
    Process
    {
    foreach ($C in $ComputerName){
        if ($Anmeldeinformationen.IsPresent) {icm $C -Credential (Get-ComputerInfo).CsUserName $skript}
        else {icm $C $skript}
    }
    }
    End
    {
    }
}

_________________
In diesem Sinne...

Ulrich Wiedholz
UW-Operator.de


Diesen Beitrag melden
Nach oben
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen neue Themen in diesem Forum erstellen.
Sie dürfen Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron

Datenschutz UW-Operator.de

Zusätzlich für das Forum:
Nutzungsbedingungen | Datenschutzrichtlinie

Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de