powershell - 将成员/列附加到 PSObject

标签 powershell

我正在寻找一种方法来向 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/

相关文章:

powershell - 无法在美国中西部创建 AZURE CLASSIC 存储帐户

powershell - New-PSDrive 在脚本和控制台中的不同行为

PowerShell 在行尾添加空格

powershell - 从哈希表中获取随机项,但值的总和必须等于设定的数字

powershell - 使用通配符路径运行可执行文件

powershell - PowerShell:一长串条件,优雅地使用逻辑运算符

powershell - 如何通过 PowerShell 获得注册表项的所有权?

powershell - 如果我 "Unrestricted'本地计算机的执行策略有什么潜在的威胁?

sql - 使用 Powershell 创建 SQL Server 用户

html - 通过 PowerShell 从 SharePoint 发送电子邮件 - 神秘的问号