This piece of code snippet below will use PowerShell cmdlet to get Computer Name,PC Model, Serial Number and the current logged on user.
Below are the one liner codes to get the Computer Name,PC Model, Serial Number and the current logged on user.
#Will select/get the computer name from WMI Object (win32_Computersystem)
get-wmiobject win32_computersystem | Select Name
#Will select/get the PC Model from WMI Object (win32_Computersystem)
get-wmiobject win32_computersystem | select Model
#Will select/get the serial number from WMI Object (win32_Computersystemproduct)
#I just notice that the IdentifyingNumber as it is named by MS is equal to the serial number of the PC
get-wmiobject win32_computersystemproduct | select IdentifyingNumber
#Will select/get the currently logged on user from WMI Object (win32_Computersystem)
get-wmiobject win32_computersystem -computer . | select username
Here's the whole PowerShell code, which will get the data and display the output in one line.
The .ToString will convert the variable to string, in order to remove the line feed from the variable.
It takes a couple of time to figured out how to get rid of the line feed from the write-host output.
$varPCModel= $PCModel.ToString()
The line feed or the "`n" will be replaced by a blank or empty character so that the variable can be displayed in one line together with any string specified on the write-host command.
$resultPCModel= $PCModel.replace("`n","")
==========================================
$computername = get-wmiobject win32_computersystem | Select Name | ft name -HideTableHeaders | Out-String
$PCModel = get-wmiobject win32_computersystem | select Model | ft -HideTableHeaders | Out-String
$SerialNumber = get-wmiobject win32_computersystemproduct | select IdentifyingNumber | ft -HideTableHeaders | Out-String
$xUserName = get-wmiobject win32_computersystem -computer . | select username | ft -HideTableHeaders | Out-String
$varCompName = $computername.ToString()
$resultCompName = $varCompName.replace("`n","")
write-host "Computer Name-: $resultCompName"
$varPCModel= $PCModel.ToString()
$resultPCModel= $PCModel.replace("`n","")
write-host "PC Model-: $resultPCModel"
$varSerialNumber= $SerialNumber.ToString()
$resultSerialNumber= $SerialNumber.replace("`n","")
write-host "Serial Number-: $resultSerialNumber"
$varUserName=$xUserName.ToString()
$resultUserName = $varUserName.replace("`n","")
write-host "User Name-: $resultUserName"
===========================================
Sample output of the above code:
Computer Name-: Workstation01
PC Model-: HP ENVY 700-215xt Desktop
Serial Number-: PHH317X97B
User Name-:TEMP-USER-VANITY
To get rid of blank spaces of write-host command between the specified string and the variable output, use code below.
===========================================
$resultCompName = "$("Computer Name-:") $($computername)"
write-host $resultCompName
$resultPCModel= "$("PC Model-:") $($PCModel)"
write-host $resultPCModel
$resultSerialNumber= "$("Serial Number-:") $($SerialNumber)"
write-host $resultSerialNumber
$resultxUserName= "$("User Name-:") $($xUserName)"
write-host $resultxUserName
===========================================
Sample output of the above code:
Computer Name-:
Workstation01
PC Model-:
HP ENVY 700-215xt Desktop
Serial Number-:
SERIAL-317X97B
User Name-:
LINX-USER
Hope this helps someone!!!
Comments
Post a Comment