# ************************************************************
# Info about Kit's System
#
# **********************INSTRUCTIONS**************************
# STEP 1 *****************************************************
# RUN PowerShell as administrator
# START ORB | type POWERSHELL | CTRL+SHIFT+ENTER key combo | ALT+Y keycombo
# ************************************************************
# STEP 2 *****************************************************
# COPY, using CTRL+C, every line down thru both EXIT statements
# PASTE into Powershell == Right-Click at the PowerShell Prompt
# (Ctrl+V does not work)
# Start copying with first line without a # at start of the line
# Note: Actually, you can paste the entire file if you rather
# Lines starting with a # are ignored by PowerShell
# ************************************************************
function get-ID {
param ([string]$title, [int]$arraycnt, [int]$arrayndx)
$title = " " + $title + " "
If ($arraycnt -eq 1) {} else {$title = $title + [string]$arrayndx + " "}
$title
}
function get-title {
param ([string]$id)
$hashes = ([int](44 - $id.length)/2)
For ($j=1; $j -le $hashes; $j++){
$hashstr += "#"
}
$title = $hashstr + $id + $hashstr
If ($title.length -ne 44) {$title += "#"}
$title
}
# Constants
$sterne = "***************************************************************************************"
#create a new object
$obj = New-Object PSObject
$os = gwmi win32_operatingsystem
$id = get-id "OS" 1 0
$obj | Add-member -membertype noteproperty -name (Get-Title $id ) -value $sterne
$installdate = $os.converttodatetime($os.installdate)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Install Date") -Value ($installdate)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Install Duration (days)") -Value ((new-timespan $installdate).days)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Last Bootup Time") -Value ($os.converttodatetime($os.lastbootuptime))
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Local Date Time") -Value ($os.converttodatetime($os.localdatetime))
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Status") -Value ($os.status)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Computer Name") -Value ($os.csname)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Registered User") -Value ($os.registereduser)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Number of Licensed Users") -Value ($os.numberoflicensedusers)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Number of Users") -Value ($os.numberofusers)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Architecture") -Value ($os.osarchitecture)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Version Number") -Value ($os.version)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Name, Drive\Partition") -Value ($os.name)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Version") -Value ($os.caption)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Service Pack") -Value ($os.csdversion)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "Windows Directory") -Value ($os.WindowsDirectory)
$obj | Add-Member -MemberType NoteProperty -Name ($id + "System Directory") -Value ($os.systemdirectory)
$bootcfg = gwmi Win32_BootConfiguration
$id = get-id "BOOT CONFIGURATION" 1 0
$obj | Add-member -membertype noteproperty -name (GET-title $ID ) -value $sterne
$obj | add-member -membertype noteproperty -name ($id + "Boot Directory") -value($bootcfg.bootdirectory)
$obj | add-member -membertype noteproperty -name ($id + "Last Drive") -value($bootcfg.lastdrive)
$Build = gwmi Win32_WMISetting
$id = get-id "OS BUILD" 1 0
$obj | Add-member -membertype noteproperty -name (get-title $ID ) -value $sterne
$obj | add-member -membertype noteproperty -name ($ID +"Build version") -value($build.BuildVersion)
$mobo = gwmi win32_BaseBoard
$id = get-id "MOTHERBOARD" 1 0
$obj | Add-member -membertype noteproperty -name (get-title $ID ) -value $sterne
$obj | add-member -membertype noteproperty -name ($ID + "Manufacturer") -value($mobo.manufacturer)
$obj | add-member -membertype noteproperty -name ($id + "Product Type" ) -value($mobo.product)
$obj | add-member -membertype noteproperty -name ($id + "Serial Number") -value($mobo.serialnumber)
$bios = gwmi win32_bios
$id = get-id "BIOS" 1 0
$obj | Add-member -membertype noteproperty -name (Get-title $id ) -value $sterne
$obj | add-member -membertype noteproperty -name ($id + "Name") -value($bios.name)
$obj | add-member -membertype noteproperty -name ($id + "Manufacturer") -value($bios.manufacturer)
$obj | add-member -membertype noteproperty -name ($id + "Release Date") -value($bios.converttodatetime($bios.releasedate))
$obj | add-member -membertype noteproperty -name ($id + "Serial Number") -value($bios.SerialNumber)
$CS = gwmi Win32_ComputerSystem
$id = get-id "COMPUTER SYSTEM" 1 0
$obj | Add-member -membertype noteproperty -name (Get-title $id) -value $sterne
$obj | add-member -membertype noteproperty -name ($id + "Manufacturer") -value($cs.manufacturer)
$obj | add-member -membertype noteproperty -name ($id + "Model") -value($cs.model)
$obj | add-member -membertype noteproperty -name ($id + "Primary Owner") -value($cs.primaryownername)
$obj | add-member -membertype noteproperty -name ($id + "Type") -value($cs.systemtype)
$obj | add-member -membertype noteproperty -name ($id + "Total Memory") -value(([string][int]($cs.totalphysicalmemory/1073741824) + " GB"))
$obj | add-member -membertype noteproperty -name ($id + "User Name") -value($cs.username)
$CSprod = gwmi Win32_ComputerSystemProduct
$obj | add-member -membertype noteproperty -name ($id + "Product Name") -value($csprod.name)
$obj | add-member -membertype noteproperty -name ($id + "Version") -value($csprod.version)
$obj | add-member -membertype noteproperty -name ($id + "Identifying Number") -value($csprod.identifyingnumber)
$obj | add-member -membertype noteproperty -name ($id + "Vendor") -value($csprod.vendor)
$cpu = @(gwmi win32_processor)
$cnt = $cpu.count
for ($ndx=1; $ndx -le $cnt; $ndx++) {
$d = $cpu[$ndx - 1]
$id = get-id "CPU" $cnt $ndx
$obj | Add-member -membertype noteproperty -name (get-title $id) -value $sterne
$obj | add-member -membertype noteproperty -name ($id + "Current Speed") -value($d.currentclockspeed)
$obj | add-member -membertype noteproperty -name ($id + "Current Voltage") -value($d.currentvoltage)
$obj | add-member -membertype noteproperty -name ($id + "External Clock") -value($d.extclock)
$obj | add-member -membertype noteproperty -name ($id + "Max. Clock Speed") -value($d.maxclockspeed)
$obj | add-member -membertype noteproperty -name ($id + "Manufacturer") -value($d.manufacturer)
$obj | add-member -membertype noteproperty -name ($id + "Name") -value($d.name)
$obj | add-member -membertype noteproperty -name ($id + "Description") -value($d.description)
$obj | add-member -membertype noteproperty -name ($id + "version") -value($d.version)
$obj | add-member -membertype noteproperty -name ($id + "Number of Cores") -value($d.numberofcores)
$obj | add-member -membertype noteproperty -name ($id + "Number of Logical Processors") -value($d.numberoflogicalprocessors)
$obj | add-member -membertype noteproperty -name ($id + "Socket Designation") -value($d.socketdesignation)
}
$obj | OUT-FILE $env:userprofile\desktop\KitsSystem.TXT
EXIT
EXIT
# ***************** NOTE - POWERSHELL VERSION*****************
# if you receive this error msg:
# Get-WinEvent: The system can not find the path specified
# you need to update your PowerShell
# you must be using Powershell 2.0 or later.
#
# To determine your Powershell version:
# Run PowerShell
# enter $host.version
# you should see at least:
# Major Minor Build Revision
# ----- ----- ----- --------
# 2 0 -1 -1
#
# If you do not see the above, update your Vista/Win 7.
# ************************************************************
# *************** NOTE - EXECUTION POLICY*********************
# If you haven't set the execution policy, you may need to:
# Run PowerShell
# enter Set-ExecutionPolicy -executionpolicy remotesigned
#
# ************************************************************