Powershell 如何在软件列表代码输出中显示计算机名称

Powershell 如何在软件列表代码输出中显示计算机名称,powershell,powershell-2.0,Powershell,Powershell 2.0,我已经创建了一个脚本,可以从连接域的计算机中提取所有已安装的软件。问题是,无论我对format table和select object做什么,它似乎都不会显示计算机名,我需要弄清楚什么计算机有什么。该命令从Get-ADComputer脚本获取计算机的输入,并为列表中的每个名称运行该命令 我尝试了computername、systemname、pscomputername和ADcomputer等属性 Get-Content -Path \\server\C$\folder\Computers.tx

我已经创建了一个脚本,可以从连接域的计算机中提取所有已安装的软件。问题是,无论我对format table和select object做什么,它似乎都不会显示计算机名,我需要弄清楚什么计算机有什么。该命令从Get-ADComputer脚本获取计算机的输入,并为列表中的每个名称运行该命令

我尝试了computername、systemname、pscomputername和ADcomputer等属性

Get-Content -Path \\server\C$\folder\Computers.txt | ForEach-Object {Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*} | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate, SystemName | format-table SystemName, DisplayName, DisplayVersion, InstallDate -auto | Format-List -Property * | Out-File -FilePath \\server\C$\Folder\Computers11.txt

每次它显示computername为空时

是否正在查找$env:computername

$env:本质上是一个驱动器,允许您访问所有环境变量,computername是一个显示当前计算机名的驱动器

您可以将它们全部列出

Get-Item -Path Env:

你在找$env:computername吗

$env:本质上是一个驱动器,允许您访问所有环境变量,computername是一个显示当前计算机名的驱动器

您可以将它们全部列出

Get-Item -Path Env:

ForEach对象
scriptblock中,构建一个包含所需内容的PSCustomObject。这样,您就可以跳过
选择对象
,以及非常愚蠢且具有破坏性的
格式-*
cmdlet。在
ForEach对象
脚本块中,构建一个包含所需内容的PSCustomObject。这样,您就可以跳过
选择对象
,以及非常愚蠢且具有破坏性的
格式-*
cmdlet。我尝试过$env:computername,现在它将我的computername显示为列的标题,而不是列表的其余部分。我正在尝试列出列表中每个软件的计算机名称。是的。对于它调用的每个软件,我都尝试了$env:computername,现在它将my computername显示为列的标题,而不是列表的其余部分。我正在尝试列出列表中每个软件的计算机名称。是的。对于它所拉的每个软件