我有一个powershell脚本,我可以在其中获取有关我的操作系统的信息(Windows版本,构建...)。但是所有这些信息都显示在powershell控制台中,我希望它们可以导出为CSV或XML文件。
脚本是:
Get-CimInstance Win32_OperatingSystem |
Select-Object Caption, CSDVersion, ServicePackMajorVersion, BuildNumber |
FL
答案 0 :(得分:3)
使用Export-Csv cmdlet:
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, CSDVersion, ServicePackMajorVersion, BuildNumber | Export-Csv -NoTypeInformation -Path .\OS_Info.csv
结果(OS_Info.csv
):
"Caption","CSDVersion","ServicePackMajorVersion","BuildNumber"
"Microsoft Windows Server 2012 R2 Datacenter",,"0","9600"
谢谢你的工作,该文件是在文件夹
中生成的System32
正如Rohin Sidharth所提到的,路径的.\
前缀将在当前目录中创建文件(PowerShell中为$PWD
)。您可能以管理员身份运行PowerShell:在这种情况下,默认目录为%WinDir%\System32
。只需使用完整路径或GetFolderPath .Net方法来获取常见的文件夹路径,例如桌面:
... | Export-Csv -NoTypeInformation -Path 'C:\OS_Info.csv'
... | Export-Csv -NoTypeInformation -Path (Join-Path -Path [System.Environment]::GetFolderPath('Desktop') -ChildPath 'OS_Info.csv')
您还可以告诉我如何在同一个文件中导出多个结果吗?对于 例如,我有一个脚本,我可以在其中知道所有更新 安装:
Get-Hotfix | Select HotfixID,Description,InstalledOn | Sort InstalledOnfunction
我希望结果保存在同一个CSV文件中
您可以使用Select-Object的calculated properties:
来完成此操作# Get OS info
$OsInfo = Get-CimInstance -ClassName Win32_OperatingSystem
Get-Hotfix | # Get HotFixes
Sort-Object -Property InstalledOnfunction | # Sort them
Select-Object -Property @( # Select required fields
# Add Caption property from $OsInfo variable
@{
Name = 'Caption'
Expression = {$OsInfo.Caption}
}
# Add CSDVersion property from $OsInfo variable
@{
Name = 'CSDVersion'
Expression = {$OsInfo.CSDVersion}
}
# Add ServicePackMajorVersion property from $OsInfo variable
@{
Name = 'ServicePackMajorVersion'
Expression = {$OsInfo.ServicePackMajorVersion}
}
# Add BuildNumber property from $OsInfo variable
@{
Name = 'BuildNumber'
Expression = {$OsInfo.BuildNumber}
}
# Add other properties from original HotFix object
'HotfixID'
'Description'
'InstalledOn'
) | Export-Csv -NoTypeInformation -Path 'C:\OS_Info.csv'
您也可以尝试join objects使用自定义功能。
答案 1 :(得分:0)
快速提示:确保您没有管道到格式列表(FL),然后管道导出到csv,或者您将打开CSV文件,您的数据将如下所示。
ClassId2e4f51ef21dd47e99d3c952918aff9cd pageHeaderEntry pageFooterEntry
autosizeInfo shapeInfo groupingEntry
033ecb2bc07a4d43b5ef94ed5a35d280
Microsoft.PowerShell.Commands.Internal.Format.ListViewHeaderInfo
9e210fe47d09416682b841769c78b8a3
27c87ef9bbda4f709f6b4002fa4af63c
4ec4f0187cb04f4cb6973460dfe252df
cf522b78d86c486691226b40aa69e95c