我正在寻找一种方法来向 PowerShell 中的对象添加额外的成员,而无需创建新对象和循环。
通常,当我运行脚本时,它将再次成为服务器列表,我想针对我返回的数据附加一些额外的信息,但我无法找到一种方法来做到这一点,而不创建一个新的 PSObject 和循环通过现有对象并逐行添加额外的成员(下面的简化示例)
$FileList = get-childitem | Select-Object Name, DirectoryName
$FileListOBJ = @()
foreach ($item in $FileList)
{
$Temp = New-Object PSObject
$Temp | Add-Member NoteProperty ServerName "XServerName"
$Temp | Add-Member NoteProperty FileName $item.Name
$Temp | Add-Member NoteProperty Directory $item.DirectoryName
$FileListOBJ += $Temp
}
$FileListOBJ
有没有办法沿着这些思路做到这一点......
get-childitem | Select-Object "ServerName", Name, DirectoryName
上面的代码创建了额外的成员,但我无法找到一种方法来用我想要的详细信息填充额外的成员。
最佳答案
您还可以创建一个新对象,而无需调用添加成员:
$FileList = get-childitem | Select-Object Name, DirectoryName
$FileListOBJ = @()
foreach ($item in $FileList)
{
$FileListOBJ += [PSCustomObject]@{ServerName="ServerName";FileName=$item.Name;Directory=$item.DirectoryName}
}
$FileListOBJ
关于powershell - 将成员/列附加到 PSObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39115412/