【发布时间】:2022-11-22 04:33:49
【问题描述】:
所以我对 PS 有点陌生,我花了整个上午试图解决这个问题,并在这里和在 Google 上寻找类似的问题/答案。
基本上这是我的脚本:
$value = $env:COMPUTERNAME
$csv = Import-Csv -Path '\\UNC\PATH\file.csv'
$props = 'CsSystemFamily','CsDNSHostName', 'CsManufacturer'
Get-ComputerInfo | Select-Object -Property $props | Export-Csv -Path $csv -NoTypeInformation - Delimiter ';' -Append
我将其部署为 GPO,因为我需要从某些 OU 收集这些特定数据。问题是我想先检查 CsDNSHostName 列中是否存在计算机名,这样我的脚本就不会两次添加同一台计算机。
提前致谢,
我尝试了很多东西,但我发现的最后一件事是:
$value = $env:COMPUTERNAME
if ($file-contains $value) {
write-host 'Computer name already exists'
} else {
Get-ComputerInfo | Select-Object -Property $props | Export-Csv -Path $csv -NoTypeInformation - Delimiter ';' -Append
}
这似乎不起作用,因为它会跳过 if 并直接转到 else
【问题讨论】:
标签: powershell csv