【发布时间】:2019-11-21 12:47:52
【问题描述】:
我想创建一个从 CSV 文件中读取所有计算机名的脚本。从所有这些中,我想要描述。此外,它应该以单个 CSV 格式导出。
这是我尝试过的,但是...
$path = Split-Path -Parent $MyInvocation.MyCommand.Definition
$path_import_csv = $path + "\" + "Computernamen.csv"
$path_export_csv = $path + "\" + "Alessio.csv"
$computernames = Import-Csv $path_import_csv
foreach ($computername in $computernames) {
Get-ADComputer -SearchBase "OU=1,OU=2,OU=3,DC=my,DC=domain" -Properties * |
Select -Expand description |
Export-Csv -Path $path_export_csv -Append -Delimiter ";" -NoTypeInformation -Force
}
【问题讨论】:
-
“但是……”什么?你期望你的代码做什么?它的实际作用是什么?
-
foreach循环从不使用$computername。这是代码中的复制粘贴错误还是实际功能? -
您的
foreach循环没有搜索$computername。如果你想这样做,那么你需要Get-AdComputer $computername。如果Computernamen.csv确实是一个CSV,那么它要么已经有一个标题,要么你需要添加一个。如果它有一个标题,那么$computernames.header将是访问列表的语法。如果它没有标题,则只需使用Get-Content $path_import_csv读取文件。如果要导出为CSV,则需要输出带有属性的对象,即select -expand description只输出描述文本,需要变成select description。 -
请展示导入 CSV 的示例,以及您希望在输出 CSV 中看到的内容。
-
嘿感谢所有的回复!我对powershell真的很陌生,并尝试学习它:D示例IMPORT csv Computernames Computer1 Computer2 Computer3 ...示例EXPORT csv Description Name1 Name2 Name3
标签: powershell csv active-directory