此脚本可以工作,但 .csv 中 release id 字段的输出是与注册表项相关的所有内容。我想要的字段是 release id 号(1909、1809、1709)。如何编辑此脚本以仅将该信息写入输出文件?下面是我现在得到的输出示例。下面是我正在使用的脚本。
我现在得到的输出。
@{ReleaseId=1909; PSPath=Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion; PSParentPath=Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT; PSChildName=CurrentVersion; PS
我使用的脚本如下。
$Computers = get-content "C:\Temp\computers.txt"
$( foreach ($Computer in $Computers)
{
$result = Invoke-Command -ComputerName $Computer -scriptBlock { Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' -Name ReleaseId }
[PSCustomObject]@{
ComputerName = $Computer
ReleaseID = $Result
}
} ) | Export-Csv "C:\Temp\GetReleaseID.csv" -NoType
Invoke-Item "C:\Temp\GetReleaseID.csv"
答案1
用于Select-Object
选择对象属性。
Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' -Name ReleaseId | Select-Object -ExpandProperty ReleaseId
有关此 cmdlet 运行的详细信息Get-Help Select-Object -Full