param ( [string[]]$Computername ) #Invoke-Command -Computername $Computername -ScriptBlock { #Determine Operating System Information and Output only Name,BuildNumber,Version get-ciminstance -class win32_operatingsystem | format-list Name,BuildNumber,version #Determine Processor Information and Output only Device ID, Name, MaxClockSpeed get-ciminstance -class CIM_processor | format-list DeviceID,Name,MaxClockSpeed #Determine IP Address Configuration get-ciminstance win32_networkadapterconfiguration | format-table ipaddress,subnetmask,dhcp,defaultgateway #Acquire DNS Client Server address and output it Get-DnsClientServerAddress | format-list ServerAddresses #Determine the amount of system memory in GB get-ciminstance win32_computersystem | foreach {$_.TotalPhysicalMemory /1GB} #Determine the amount of of free space (GB) for the c:\ drivey Get-CimInstance -ClassName cim_logicaldisk | Where-Object {$_.FreeSpace} | Select-Object @{n='FreeSpace';exp={"{0:N2} GB" -f ($_.FreeSpace / 1GB)}},DeviceID #Determine last bootup date/time and output computer's name and last boot time Get-CimInstance win32_operatingsystem | select name,lastbootuptime #Determine last user login date & time. Output the username and last logon date/time get-localuser | where-object {$_.Lastlogon} | select-object Name,Lastlogon #Retrieve all user accounts and output the account name get-localuser| format-list name #Determine installed hotfixes & updates. Output only the hotfix ID get-hotfix | format-list hotfixid #List all installed applications and output as name,vendor,version get-ciminstance -class WIn32_product | format-list Name,Vendor,Version #} #scriptblock $date = get-date -format "MM,dd,yyyy" $computername = "Server1,Dc1" $filename = "C:\$date-$computername.log" out-file -filepath c:\$date-$computername.log
This is the bottom part I have above.