Powershell 将成员/列附加到PSObject
我正在寻找一种在PowerShell中向对象添加额外成员而不创建新对象和循环的方法 通常,当我运行一个脚本时,它将再次是一个服务器列表,我想根据返回的数据附加一些额外的信息,但如果不创建一个新的PSObject并在现有对象中循环并逐行添加额外的成员,我找不到一种方法来执行此操作(下面的简化示例) 有没有办法做到这一点Powershell 将成员/列附加到PSObject,powershell,Powershell,我正在寻找一种在PowerShell中向对象添加额外成员而不创建新对象和循环的方法 通常,当我运行一个脚本时,它将再次是一个服务器列表,我想根据返回的数据附加一些额外的信息,但如果不创建一个新的PSObject并在现有对象中循环并逐行添加额外的成员,我找不到一种方法来执行此操作(下面的简化示例) 有没有办法做到这一点 get-childitem | Select-Object "ServerName", Name, DirectoryName 上面的代码创建了额外的成员,但我还没有找到一种方法
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
很好,我知道必须有一个更简单的方法
get-childitem | Select-Object @{l="ServerName"; e={"XServerName"}}, 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