0

我有一个脚本来检查 Windows 7 计算机的活动目录,ping 它们并报告 IP 地址。

export-csv 函数写入正确的字段和数据,但 IP 地址除外。IP 地址显示为“Microsoft.ActiveDirectory.Management.ADPropertyValueCollection”

脚本副本

Function Get-Win7 {
        $Win7list = get-adcomputer -filter {(operatingsystem -like "Windows 7 Professional") -and (enabled -eq "True")} -properties operatingsystem, lastlogondate 
        foreach ($pc in $Win7list){
            $pingtest = test-connection $pc.name -erroraction silentlycontinue -errorvariable pingfail
            if (get-variable -name pingfail -erroraction silentlycontinue) {
                if ($pingfail.exception -match "failed"){
                 $IP3 = "No IP"
                 $pingfall = $null
                }       
            }
            $pc.IP = New-Object -TypeName PSCustomObject -Property @{IPAddress = $pingtest.IPV4Address.ToString | select-object -first 1}
            $PC |select-object name,operatingsystem, lastlogondate, IP |sort-object lastlogondate | export-csv -path c:\users\{user}\desktop\Win7-GSN.csv -notypeinfo -append
        }
}

任何帮助表示赞赏。

4

1 回答 1

1

您可以在 中使用计算属性Select-Object,它允许您添加自定义属性并为其赋予自定义值。在这里,我们可以添加一个自定义属性IP并将其赋予IPV4Address.

$PC | Select-Object name,operatingsystem, lastlogondate, @{n='IP';e={$pingtest[0].IPV4Address}}

因此,您可以$pc.IP = ...完全删除该行。

于 2020-02-06T03:29:41.480 回答