【发布时间】:2021-02-26 23:45:01
【问题描述】:
我正在尝试对我们环境中的所有服务器的本地用户帐户进行审核。我遇到了一个问题,即每个设备的输出分为单独的表,这不适用于数千个设备!它应该只是一张大表,中间没有重复的标题或空格。运行后,它将导出为 CSV 以供进一步分析。
例子:
| Computer | Name | Enabled | PasswordChangeableDate | PasswordExpires | UserMayChangePassword |
|---|---|---|---|---|---|
| Device 1 | Administrator | False | 2/27/2021 5:00:05 AM | True | |
| Device 1 | DefaultAccount | False | True | ||
| Device 1 | Guest | False | False | ||
| Device 1 | WDAGUtilityAccount | False | 1/24/2020 7:30:01 PM | 4/22/2020 8:30:01 PM | True |
| Device 1 | WindowsHelp | True | 2/27/2021 5:00:05 AM | True | |
| Device 1 | WindowsQuery | True | 2/27/2021 5:00:05 AM | 5/27/2021 6:00:05 AM | True |
| Computer | Name | Enabled | PasswordChangeableDate | PasswordExpires | UserMayChangePassword |
|---|---|---|---|---|---|
| Device 2 | Administrator | False | 2/27/2021 5:00:05 AM | True | |
| Device 2 | DefaultAccount | False | True | ||
| Device 2 | Guest | False | False | ||
| Device 2 | WDAGUtilityAccount | False | 1/24/2020 7:30:01 PM | 4/22/2020 8:30:01 PM | True |
| Device 2 | WindowsHelp | True | 2/27/2021 5:00:05 AM | True | |
| Device 2 | WindowsQuery | True | 2/27/2021 5:00:05 AM | 5/27/2021 6:00:05 AM | True |
代码片段:
foreach ($device in Get-Content "list.txt"){
Invoke-Command -ComputerName $device -ScriptBlock{
get-localuser | select @{N="Computer"; E={$env:COMPUTERNAME}}, Name, Enabled, PasswordChangeableDate, PasswordExpires, UserMayChangePassword, PasswordRequired, PasswordLastSet, LastLogon | ft -a
}
}
我的问题是:
- 如何更正此问题以将输出合并到一个表中?
- 有更好的方法吗? (我当然希望如此!)
【问题讨论】:
-
如果您发现自己在使用表格,您应该注意ImportExcel
标签: powershell