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)                 


cls
Write-Host
write-host " General Info" -ForegroundColor Green
Write-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 Green
Write-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 Green
Write-Host 
write-host "*" -ForegroundColor Yellow -NoNewline; write-host " CPU  " -ForegroundColor Yellow -NoNewline; write-host $sysCPUName -ForegroundColor Cyan
write-host "*" -ForegroundColor Yellow -NoNewline; write-host " Number of CPU's  " -ForegroundColor Yellow -NoNewline; write-host $sysCPU1.NumberOfProcessors -ForegroundColor Cyan
write-host "*" -ForegroundColor Yellow -NoNewline; write-host " Cores per CPU  " -ForegroundColor Yellow -NoNewline; write-host $CoresPerCPU -ForegroundColor Cyan
write-host "*" -ForegroundColor Yellow -NoNewline; write-host " Hyperthreading  " -ForegroundColor Yellow -NoNewline; write-host $HT -ForegroundColor Cyan
write-host "*" -ForegroundColor Yellow -NoNewline; write-host " Total Logical Processors  " -ForegroundColor Yellow -NoNewline; write-host $sysCPU1.NumberOfLogicalProcessors -ForegroundColor Cyan
write-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 Green
Write-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
}


}