Ik heb regelmatig gehad dat ik info van de computer nodig had mbt geheugen of schijfruimte etc. ook daarvoor heb ik een functie geschreven

Function GetComputerInfoClient{    [CmdletBinding(DefaultParameterSetName="ComputerName")]    Param (        [Parameter(ParameterSetName="ComputerName",Position=0)]        [string]$ComputerName    ) #end Param    if (!$ComputerName) {        Write-Host ""        Write-Host "*  Please provide the Hostname: " -NoNewline        $ComputerName = Read-Host    } #end if If (Test-Connection $ComputerName -count 1 -quiet) { $sysComp = Get-WmiObject Win32_ComputerSystem -ComputerName $ComputerName -ErrorVariable SysError             Start-Sleep -m 250            $sysComp2 = Get-WmiObject Win32_ComputerSystemProduct -ComputerName $ComputerName            $sysOS = Get-WmiObject Win32_OperatingSystem -ComputerName $ComputerName            $sysBIOS = Get-WmiObject Win32_BIOS -ComputerName $ComputerName            $sysCPU = Get-WmiObject Win32_Processor -ComputerName $ComputerName            $sysCPUName = (Get-WmiObject Win32_Processor -ComputerName $ComputerName | Where-Object {$_.DeviceID -like 'CPU0'}).Name            $HT = $($sysCPU | measure-object -Property NumberOfLogicalProcessors -sum).Sum -gt $($sysCPU | measure-object -Property NumberOfCores -sum).Sum            $sysCPU1 = Get-WmiObject Win32_ComputerSystem -ComputerName $ComputerName                   $CoresPerCPU = $($sysCPU | measure-object -Property NumberOfCores -sum).Sum / $sysCPU1.NumberOfProcessors            $sysRAM = Get-WmiObject Win32_PhysicalMemory -ComputerName $ComputerName            $sysNAC = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $ComputerName -Filter "IPEnabled='True'"            $sysMon = Get-WmiObject Win32_DesktopMonitor -ComputerName $ComputerName            $sysVid = Get-WmiObject Win32_VideoController -ComputerName $ComputerName            $sysOD = Get-WmiObject Win32_CDROMDrive -ComputerName $ComputerName            $sysHD = Get-WmiObject Win32_LogicalDisk -ComputerName $ComputerName            $sysProc = Get-WmiObject Win32_Process -ComputerName $ComputerName$UserLogonDT = ($sysProc | ?{$_.Name -eq "explorer.exe"} | Sort CreationDate | Select-Object -First 1).CreationDate$UserLogon = [System.Management.ManagementDateTimeconverter]::ToDateTime($UserLogonDT).ToString()$LastBootUpTime = [System.Management.ManagementDateTimeconverter]::ToDateTime($sysOS.LastBootUpTime).ToString()$tRAM = "{0:N2} GB Usable - " -f $($sysComp.TotalPhysicalMemory / 1GB)$sysRAM | %{$tRAM += "[$($_.Capacity / 1GB)] "} $sysHD | ?{$_.DriveType -eq 3} | %{ $HDInfo = "{0:N1} GB Free / {1:N1} GB Total" -f ($_.FreeSpace / 1GB), ($_.Size / 1GB)}$InstallDate = [System.Management.ManagementDateTimeconverter]::ToDateTime($sysOS.InstallDate).ToString()    function Get-RPADComputer{        $Properties = $XML.Options.Search.Property        if($ComputerName -match "."){$ComputerName = $ComputerName.Split('.')[0]}        $searcher=[adsisearcher]"(&(objectClass=computer)(name=$ComputerName*))"        #$searcher.PropertiesToLoad.AddRange($Properties)         $searcher.SearchRoot=$searchRoot         $searcher.FindAll()     }$sysOU = Get-RPADComputer$OU = $sysOU.Path.Substring($sysOU.Path.IndexOf(',')+1)                 clsWrite-Hostwrite-host " General Info" -ForegroundColor GreenWrite-Host write-host "*" -ForegroundColor Yellow -NoNewline; write-host " Hostname  " -ForegroundColor Yellow -NoNewline; write-host $sysComp.name -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " User  " -ForegroundColor Yellow -NoNewline; write-host $sysComp.UserName -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " AD OU  " -ForegroundColor Yellow -NoNewline; write-host $OU -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " User Logon time  " -ForegroundColor Yellow -NoNewline; write-host $UserLogon -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " System Startup time  " -ForegroundColor Yellow -NoNewline; write-host $LastBootUpTime -ForegroundColor Cyan write-host  write-host " Hardware Info" -ForegroundColor GreenWrite-Host write-host "*" -ForegroundColor Yellow -NoNewline; write-host " Manufacturer  " -ForegroundColor Yellow -NoNewline; write-host $sysComp.Manufacturer -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " Model nr  " -ForegroundColor Yellow -NoNewline; write-host $sysComp.Model -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " Serial NR  " -ForegroundColor Yellow -NoNewline; write-host $sysBIOS.SerialNumber  -ForegroundColor Cyan write-host  write-host " System Info" -ForegroundColor GreenWrite-Host write-host "*" -ForegroundColor Yellow -NoNewline; write-host " CPU  " -ForegroundColor Yellow -NoNewline; write-host $sysCPUName -ForegroundColor Cyanwrite-host "*" -ForegroundColor Yellow -NoNewline; write-host " Number of CPU's  " -ForegroundColor Yellow -NoNewline; write-host $sysCPU1.NumberOfProcessors -ForegroundColor Cyanwrite-host "*" -ForegroundColor Yellow -NoNewline; write-host " Cores per CPU  " -ForegroundColor Yellow -NoNewline; write-host $CoresPerCPU -ForegroundColor Cyanwrite-host "*" -ForegroundColor Yellow -NoNewline; write-host " Hyperthreading  " -ForegroundColor Yellow -NoNewline; write-host $HT -ForegroundColor Cyanwrite-host "*" -ForegroundColor Yellow -NoNewline; write-host " Total Logical Processors  " -ForegroundColor Yellow -NoNewline; write-host $sysCPU1.NumberOfLogicalProcessors -ForegroundColor Cyanwrite-host "*" -ForegroundColor Yellow -NoNewline; write-host " Memory  " -ForegroundColor Yellow -NoNewline; write-host $tRAM -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " C Drive Disk Space  " -ForegroundColor Yellow -NoNewline; write-host $HDinfo -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " GPU  " -ForegroundColor Yellow -NoNewline; write-host $sysVid.Description -ForegroundColor Cyan write-host  write-host " OS Info" -ForegroundColor GreenWrite-Host write-host "*" -ForegroundColor Yellow -NoNewline; write-host " OS  " -ForegroundColor Yellow -NoNewline; write-host $sysOS.Caption -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " OS-Build  " -ForegroundColor Yellow -NoNewline; write-host $sysOS.version -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " OS Architecture  " -ForegroundColor Yellow -NoNewline; write-host $sysComp.SystemType -ForegroundColor Cyan write-host "*" -ForegroundColor Yellow -NoNewline; write-host " Installation Date  " -ForegroundColor Yellow -NoNewline; write-host $InstallDate -ForegroundColor Cyan write-host  }else{Write-Host " Computer is offline " -ForegroundColor RED}} |