Public/Update-Computer.ps1

<#PSScriptInfo

.VERSION 1.0

.GUID 972a6d04-f905-4347-98b1-6bf00d8ce204

.AUTHOR dmcanady

.COMPANYNAME

.COPYRIGHT

.TAGS

.LICENSEURI

.PROJECTURI

.ICONURI

.EXTERNALMODULEDEPENDENCIES

.REQUIREDSCRIPTS

.EXTERNALSCRIPTDEPENDENCIES

.RELEASENOTES


.PRIVATEDATA

#>

function Update-Computer {
    param (
        [string]$Serial_number,
        [string]$CS_number,
        [hashtable]$Value
    )

    if (-not([string]::IsNullOrEmpty($Serial_number))) {
        $Computer = Get-Computer -Serial_number $Serial_number
        foreach ($key in $Value.GetEnumerator()) { #loops through hash table of property updates
            #Write-Host $key.$Value
            $Computer."$($key.Name)" = $Value[$key.Name]
            #Write-Output $Computer
            Get-Computer -Serial_number $Serial_number | Out-Null #outputs to null to prevent unneeded console output
        }
    }
    elseif (-not([string]::IsNullOrEmpty($CS_number))) {
        $Computer = Get-Computer -CS_number $CS_number
        foreach ($key in $Value.GetEnumerator()) {
            #Write-Host $key.$Value
            $Computer."$($key.Name)" = $Value[$key.Name]
            #Write-Output $Computer
            Get-Computer -CS_number $CS_number | Out-Null
        }
    }
}