我有一个PowerShell脚本可以根据来自“计算机”的CSV提取计算机信息。柱。根据该信息,我试图从两个来源查询相关信息。
一个是显示登录时间戳的文本文件,另一个是来自AD的lastlogondate
。我希望将结果放在一起以CSV格式输出。
我无法弄清楚如何合并结果。单独的命令被放入$table
变量中,但这显然不正确。
所以我试图最终得到的是带有
的CSVComputer,LastWriteTime,LastLogonDate PC01,lastwritetime,ADLastLogonDate
我认为解决方案是将值写入彼此独立的变量,然后将它们一起放入$table
变量中?但我不知道该怎么做。
$computerList = Import-Csv $path
$table = @()
foreach ($line in $computerList) {
$compName = $line.computer
# Get the LastWriteTime from the network drive
$table += Get-ChildItem *"$compName"* -Path R: |
sort LastWriteTime |
select LastWriteTime, Name -Last 1
# Get the lastlogondate from Active Directory
$table += Get-ADComputer $compName -Properties Name, LastLogonDate |
select Name,LastLogonDate
}
$table | Export-Csv "file.csv"
答案 0 :(得分:3)
未测试
$computerList = import-csv $path
$table = @()
$table = foreach($line in $computerList){
[pscustomobject]@{
Computer = $line.computer
LastWriteTime = get-childitem -Path R: "*$compName*"|
sort LastWriteTime -descending|
select -ExpandProperty LastWriteTime -first 1
LastLogonDate = get-adcomputer $compName -properties Name,LastLogonDate|
select -ExpandProperty LastLogonDate
}
}
$table | out-gridview
# $table | export-csv "file.csv"
根据建议重新编辑。