将驱动器号导出到列

Exporting Drive Letters to Columns

我正在尝试获取 post 的驱动器盘符列表到整个页面的 CSV 文件,

前:
系统名称、驱动器 1、驱动器 2、驱动器 3、驱动器 4、驱动器 5

SVR,C:,D:,E:,F:

没有

系统名称,设备ID
SVR, C:
SVR, D:
SVR, 电子:
SVR, F:

我放在一起并且之前对我的其他项目有效的代码是

Get-WmiObject win32_logicaldisk -filter "drivetype = '3'" -computername $serverlist[$j] | Select systemname, deviceid

现在有更多的方法可以获取其中包含计算机的文件并检查以确保它在线,但这是我认为必须有办法做到这一点的关键,我就是可以'想不通。有什么想法吗?

谢谢, 卢克

完整代码

# Loop only executed when ping is successful
    if (test-connection -computername $serverlist[$j] -count 1 -quiet)
    {
        $results = Get-WmiObject win32_logicaldisk -filter "drivetype = '3'" -computername $serverlist[$j]
        "{0},{1}" -f $serverlist[$j], $results.deviceid -join "," | Add-Content c:\scripts\file.csv
        for ($k = 0; $k -lt $tempvar.count; $k++)
        {
            $tempoutput = $tempvar[$k]

            # Setup line to be written to file

            $exporttofile = $tempoutput.systemname + "," + $tempoutput.deviceid

            # Write to log, UTF8 encoding for .csv
            $exporttofile | out-file $logfile -append -encoding utf8
        }
    }

除非此代码有更多内容,否则简单的答案似乎只是将 -joinAdd-Content 之类的东西结合使用来设置行。显然你在某种循环结构中有这个,这里不应该受到影响。

$results = Get-WmiObject win32_logicaldisk -filter "drivetype = '3'" -computername $serverlist[$j]
"{0},{1}" -f $serverlist[$j],($results.deviceid -join ",") | Add-Content c:\temp\file.csv

使用格式运算符,我们用服务器名称构建一行并附加驱动器 ID 的逗号分隔字符串