导出的WSUS计算机:在导入中使用Powershell过滤CSV文件

rbl8hiat  于 2023-07-31  发布在  Shell
关注(0)|答案(1)|浏览(87)

你好,我需要用powershell过滤一个.csv文件。我导出的信息如下:
Get-WsusComputer -ComputerTargetGroups“组”|Export-Csv -Path“C:\export.csv”
但是Get-WsusComputer在.csv中添加的信息比我需要的多,我只需要“FullDomainName”,这样我就可以将这些计算机添加到新的AD组中。因此,我需要过滤器,只有头“FullDomainName”时导入。怎么做呢?
我试过这个:
Import-Csv“C:\export.csv”-分隔符“,”|选择“FullDomainName”
但是当这样做并试图打印出导入的值时,导入的值看起来像这样:
@{FullDomainName=blablabla.de}
我对powershell很陌生,但据我所知,导入不会以这种方式正确地用于将这些完整的域名添加到新的AD组。
谢谢你的帮助!

jv4diomz

jv4diomz1#

假设FullDomainName包含目标计算机的FQDN(例如computer01.child.domain.tld),循环这些名称并将其拆分为名称和域,然后像这样查询AD:

$computerFQDNs = Import-Csv "C:\export.csv" -Delimiter "," |ForEach-Object {
    $name,$domain = $_.FullDomainName -split '\.',2
    $computerAccount = Get-ADComputer -Identity $name -Server $domain -ErrorAction SilentlyContinue
    if($computerAccount){
        # Computer account found, add to group
        Add-ADGroupMember -Identity myGroup -Member $computerAccount
    }
    else {
        Write-Warning "Unable to find computer account '$name' in domain '$domain'"
    }
}

字符串
-split '\.',2操作将获取输入字符串,并在第一个.(即computer.domain.tld-> computerdomain.tld

相关问题