我需要将以下对象的“名称”部分中存储的数据导出到csv中的单个CELL中。
$localp = Get-Printer | where Shared -eq $false
但是只要我这样做:
$localp.Name | export-csv -path "test.csv"
我明白了:
#TYPE System.String
长度
18
29
22
3
9
答案 0 :(得分:0)
尝试
$localp | Select-Object Name | Export-Csv -Path "test.csv" -NoTypeInformation
Export-Csv
导出对象属性及其值的表。 由于您的脚本正在产生字符串对象,并且是唯一的属性 他们只有长度,这就是你得到的。
答案 1 :(得分:0)
您似乎不需要标题和单个单元格,
IMO不是正确的csv文件。
如何将打印机彼此分开?
此行:
('"{0}"' -f ((Get-Printer | where Shared -eq $false).Name -join ',')
创建这样的双引号文本:
"Send To OneNote 2016,Microsoft XPS Document Writer,Microsoft Print to PDF,Fax"
您可以使用Set-Content
$Printers = [PSCustomObject]@{
Printers = (Get-Printer | where Shared -eq $false).Name -join ','}
$Printers |Export-Csv '.\test.csv' -NoTypeInformation
将产生一个文件:
PS> Get-Content .\test.csv
"Printers"
"Send To OneNote 2016,Microsoft XPS Document Writer,Microsoft Print to PDF,Fax"
-join "`n"
后的
编辑
PS> $printers
Printers
--------
Send To OneNote 2016...
PS> $printers|fl
Printers : Send To OneNote 2016
Microsoft XPS Document Writer
Microsoft Print to PDF
Fax
PS> $printers |export-csv .\test.csv -notype
PS> gc .\test.csv
"Printers"
"Send To OneNote 2016
Microsoft XPS Document Writer
Microsoft Print to PDF
Fax"