首页 > 解决方案 > 我如何将此脚本导出到 csv

问题描述

#我不知道在哪里放置 Export-csv ...

当我用管子把它放在末端时,它似乎不起作用

foreach($ADMachineInOU in $(Get-ADComputer -Filter * -SearchBase "OU=Win10Modern,OU=LN,OU=Workstations,DC=cooley,DC=com" | Select -ExpandProperty Name))
    {
        # Test if machine is online
        if(Test-Connection -ComputerName $ADMachineInOU -Count 1 -ErrorAction SilentlyContinue)
            {
                Write-Host $ADMachineInOU -ForegroundColor Green
                $CimSession = New-CimSession -ComputerName $ADMachineInOU
                
                Get-NetAdapter -CimSession $CimSession -Name "Wi-Fi" | select PSComputerName,DriverVersion
                Remove-CimSession -CimSession $CimSession
            }  
        else
            {
                Write-Host $ADMachineInOU -ForegroundColor Gray 
            } 
        Remove-Variable CimSession,ADMachineInOU -ErrorAction SilentlyContinue
    } 

标签: powershell

解决方案


我会建议这样的事情:

$ADComputers = Get-ADComputer -Filter * -SearchBase "OU=Win10Modern,OU=LN,OU=Workstations,DC=cooley,DC=com"

$Report = @()
foreach ($ADComputer in $ADComputers)
{
    $HostName = $ADComputer.name
    
    # Test if machine is online
    $Ping = Test-Connection $HostName -Count -Quiet -ErrorAction SilentlyContinue

    If ($Ping)
    {
        Write-Host $HostName -ForegroundColor Green
        $CimSession = New-CimSession -ComputerName $HostName
        $Adapter = Get-NetAdapter -CimSession $CimSession -Name "Wi-Fi"
        $Hash = @{
            Hostname = $HostName
            Hardware = "Wi-Fi"
            PSComputerName = $Adapter.PSComputerName
            DriverVersion = $Adapter.DriverVersion
        }
        Remove-CimSession -CimSession $CimSession
        $Report += New-Object psobject -Property $hash

    }  
    else
    {
        Write-Host $ADMachineInOU -ForegroundColor Gray 
    }
} 

$Report | export-csv "c:\Temp\Report.csv" -NoTypeInformation


推荐阅读