Public/table/Set-SNOWCMDBCI.ps1

function Set-SNOWCMDBCI {
    <#
    .SYNOPSIS
        Updates a cmdb_ci record in SNOW
    .DESCRIPTION
        Updates a record from the cmdb_ci table
    .NOTES
        Uses Set-SNOWObject as a template function.
    .OUTPUTS
        PSCustomObject. The full table record/s (-PassThru only).
    .LINK
        https://github.com/insomniacc/PSSnow/blob/main/docs/functions/Set-SNOWCMDBCI.md
    .LINK
        https://docs.servicenow.com/csh?topicname=c_TableAPI.html&version=latest
    .EXAMPLE
        Set-SNOWCMDBCI -Sys_ID "<sys_id>" -Properties @{"<key>"="<value>"} -verbose
        Updates a specific record in the table cmdb_ci
    #>
  
    [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSShouldProcess", "")]
    [CmdletBinding(SupportsShouldProcess)]
    param (
        [Parameter()]
        [string]
        $asset_tag,
        [Parameter()]
        [string]
        $assigned,
        [Parameter()]
        [string]
        $assigned_to,
        [Parameter()]
        [alias('change_group')]
        [string]
        $assignment_group,
        [Parameter()]
        [string]
        $attestation_score,
        [Parameter()]
        [string]
        $attestation_status,
        [Parameter()]
        [boolean]
        $attested,
        [Parameter()]
        [string]
        $attested_by,
        [Parameter()]
        [string]
        $attested_date,
        [Parameter()]
        [string]
        $attributes,
        [Parameter()]
        [string]
        $business_unit,
        [Parameter()]
        [boolean]
        $can_print,
        [Parameter()]
        [string]
        $category,
        [Parameter()]
        [alias('approval_group')]
        [string]
        $change_control,
        [Parameter()]
        [string]
        $checked_in,
        [Parameter()]
        [string]
        $checked_out,
        [Parameter()]
        [string]
        $comments,
        [Parameter()]
        [string]
        $company,
        [Parameter()]
        [string]
        $correlation_id,
        [Parameter()]
        [string]
        $cost,
        [Parameter()]
        [alias('cost_currency')]
        [string]
        $cost_cc,
        [Parameter()]
        [string]
        $cost_center,
        [Parameter()]
        [alias('order_received')]
        [string]
        $delivery_date,
        [Parameter()]
        [string]
        $department,
        [Parameter()]
        [string]
        $discovery_source,
        [Parameter()]
        [string]
        $dns_domain,
        [Parameter()]
        [string]
        $due,
        [Parameter()]
        [string]
        $due_in,
        [Parameter()]
        [string]
        $duplicate_of,
        [Parameter()]
        [string]
        $environment,
        [Parameter()]
        [string]
        $fault_count,
        [Parameter()]
        [string]
        $first_discovered,
        [Parameter()]
        [alias('fully_qualified_domain_name')]
        [string]
        $fqdn,
        [Parameter()]
        [string]
        $gl_account,
        [Parameter()]
        [alias('installed')]
        [string]
        $install_date,
        [Parameter()]
        [string]
        $install_status,
        [Parameter()]
        [string]
        $invoice_number,
        [Parameter()]
        [string]
        $ip_address,
        [Parameter()]
        [string]
        $justification,
        [Parameter()]
        [alias('most_recent_discovery')]
        [string]
        $last_discovered,
        [Parameter()]
        [alias('lease_contract')]
        [string]
        $lease_id,
        [Parameter()]
        [string]
        $life_cycle_stage,
        [Parameter()]
        [string]
        $life_cycle_stage_status,
        [Parameter()]
        [string]
        $location,
        [Parameter()]
        [string]
        $mac_address,
        [Parameter()]
        [string]
        $maintenance_schedule,
        [Parameter()]
        [string]
        $managed_by,
        [Parameter()]
        [string]
        $managed_by_group,
        [Parameter()]
        [string]
        $manufacturer,
        [Parameter()]
        [string]
        $model_id,
        [Parameter()]
        [string]
        $model_number,
        [Parameter()]
        [boolean]
        $monitor,
        [Parameter()]
        [string]
        $name,
        [Parameter()]
        [string]
        $operational_status,
        [Parameter()]
        [alias('ordered')]
        [string]
        $order_date,
        [Parameter()]
        [string]
        $owned_by,
        [Parameter()]
        [string]
        $po_number,
        [Parameter()]
        [alias('purchased')]
        [string]
        $purchase_date,
        [Parameter()]
        [string]
        $schedule,
        [Parameter()]
        [string]
        $serial_number,
        [Parameter()]
        [alias('description')]
        [string]
        $short_description,
        [Parameter()]
        [string]
        $start_date,
        [Parameter()]
        [string]
        $subcategory,
        [Parameter()]
        [string]
        $supported_by,
        [Parameter()]
        [string]
        $support_group,
        [Parameter()]
        [string]
        $vendor,
        [Parameter()]
        [string]
        $warranty_expiration
    )
    DynamicParam { Import-DefaultParamSet -TemplateFunction "Set-SNOWObject" }

    Begin {
        $table = "cmdb_ci"
    }
    Process {
        Invoke-SNOWTableUPDATE -table $table -Parameters $PSBoundParameters
    }
}