You need to enable JavaScript to run this app. 使用PowerShell为CSV按AMCore版本与托管状态规则添加合规状态列
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell为CSV按AMCore版本与托管状态规则添加合规状态列

PowerShell 批量为CSV新增合规状态列实现方案

前置准备

  • 提前确认当前最新AMCore版本基准值N,脚本运行时直接替换为实际值即可
  • 确认CSV文件的列名和需求一致,避免因为列名拼写、大小写不匹配导致读取失败
  • 脚本默认导出新的结果文件,不会直接覆盖原始CSV,避免源数据损坏

可直接运行的脚本代码

# 配置项:替换为实际的最新AMCore基准版本号
$latestAMCoreVersion = 4111
# 配置项:替换为原始CSV的完整路径
$sourceCsvPath = "C:\Data\SystemInventory.csv"
# 配置项:设置处理后CSV的保存路径
$resultCsvPath = "C:\Data\SystemInventory_withCompliance.csv"

# 导入原始CSV数据
$systemRecords = Import-Csv -Path $sourceCsvPath

# 逐行判定合规状态
$processedRecords = $systemRecords | ForEach-Object {
    # 安全转换AMCore版本值为整数,空值/非数值会返回null,避免类型转换报错
    $versionParsed = [int]::TryParse($_.'AMCore content version'.Trim(), [ref]$null)
    $currentAMCoreVersion = $versionParsed ? [int]$_.'AMCore content version'.Trim() : $null
    $currentManagedState = $_.'Managed State'.Trim()

    # 按规则优先级判定
    if ($null -eq $currentAMCoreVersion) {
        # 版本值为空的场景
        $complianceStatus = $currentManagedState -eq 'unmanaged' ? 'unmanaged' : 'Manual Check'
    } elseif ($currentAMCoreVersion -eq 0 -and $currentManagedState -eq 'Managed') {
        # 版本为0且处于托管状态的场景
        $complianceStatus = 'Check ENS'
    } else {
        # 正常版本号的合规判定
        $minimumCompliantVersion = $latestAMCoreVersion - 3
        $isInComplianceRange = ($currentAMCoreVersion -ge $minimumCompliantVersion) -and ($currentAMCoreVersion -le $latestAMCoreVersion)
        $complianceStatus = $isInComplianceRange ? 'Compliant' : 'Non-compliant'
    }

    # 为当前记录新增Compliance Status列
    $_ | Add-Member -NotePropertyName 'Compliance Status' -NotePropertyValue $complianceStatus -PassThru
}

# 导出处理结果
$processedRecords | Export-Csv -Path $resultCsvPath -NoTypeInformation -Encoding UTF8

运行注意事项

  • 判定逻辑做了优先级排序:先处理版本值为空的特殊场景,再处理版本为0的特殊场景,最后做常规版本区间判定,避免特殊值被误判为合规/不合规
  • 脚本做了输入值的空格裁剪,避免因为列值前后带空格导致匹配失败(比如Managed State值为" unmanaged "也能正确识别)
  • 合规区间为闭区间:当N=4111时,4111、4110、4109、4108这四个版本值会被标记为Compliant,4107及更低版本标记为Non-compliant,完全匹配需求规则
  • 导出的CSV默认使用UTF8编码,用Excel打开不会出现中文乱码

内容的提问来源于stack exchange,提问作者Sourabh Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.04 15:45:05