我想我有一个基本的powershell问题,你们大多数人都知道...
因此,当我从假设我的AD中导出一个列表时,这是一个带有以下标题的csv列表:
CsDNSHostName、WindowsVersion、Any (在这种情况下,any是可能因用户操作而更改的内容)
所以现在我有了我导出的CSV,然后我想让这个csv保持最新。在我的环境中,“任何”头可能会经常改变,也可能会有新的计算机出现在列表中,而旧的计算机会消失……
因此,现在我需要一种方法来保持我的csv更新,而不必创建多个csv文件,而且我也不想在csv中有重复的条目。
以下是我认为可能会使用的代码,但我确信我错了,因为我的知识太低,无法正常运行,获取数据很容易,但使其可更新,而不是…
#Runs once and afterwards I use the csv that was created as Base for all other operations
Get-ADComputer -Filter * | export-csv "c:\mycsv.csv"
$impc = import-csv "c:\mycsv.csv"
$impc | Select CsName,@{Name="WindowsVersion";Expression={
$data = invoke-command -computername $_.ComputerName -scriptblock {get-computerinfo}
$data.WindowsVersion
}},@{Name="ANY";Expression={
$data = invoke-command -computername $_.ComputerName -scriptblock {get-computerinfo}
$data.ANY
}} | Export-CSV "C:\mycsv.csv"
发布于 2018-06-06 07:02:58
要避免多次运行带有Get-ComputerInfo的Invoke-Command
我会试着这样做:
$impc = Get-ADComputer -Filter * | ForEach {
$data = invoke-command -computername $_.ComputerName -scriptblock {get-computerinfo}
[PsCustomObject]@{
CsName = $_.CsName
WindowsVersion = $data.WindowsVersion
ANY = $data.ANY
}
}
$impc | Export-CSV "C:\mycsv.csv" -NoTypeInformation
https://stackoverflow.com/questions/50709480
复制相似问题