我正在尝试获取一个驱动器号列表,以便在整个页面上发布到CSV而不是
EX:
systemname,Drive1,Drive2,Drive3,Drive4,Drive5
SVR,C:,D:,E:,F:
不
systemname,deviceid
SVR,C:
SVR,D:
SVR,E:
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
}
}
答案 0 :(得分:0)
除非此代码还有更多内容,否则简单的答案似乎只是将-join
与Add-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的逗号分隔字符串