Public/New-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 New-Computer {
    param(
        [PSCustomObject]$InputObject,
        [switch]$Duplicate = $false
    )
    if ($Duplicate) {
        $new = $InputObject.PsObject.Copy()
        $MaxID = Get-Computers | sort -Property ID -Descending | select -First 1
        $new.ID = $MaxID.ID + 1
        $new.AuditStatus = "Duplicate"
        $new.u_last_physical_inventory_date = (Get-Date -f "yyyy-MM-dd HH:mm:ss")
        $script:Computers += $new
    }
    else {
        $MaxID = Get-Computers | sort -Property ID -Descending | select -First 1
        $new.ID = $MaxID.ID + 1
        $InputObject.u_last_physical_inventory_date = (Get-Date -f "yyyy-MM-dd HH:mm:ss")
        $script:Computers += $InputObject |
        Add-Member -Name AuditStatus -Value "Scanned" -MemberType NoteProperty
    }
}