首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell Win32Reg_AddRemovePrograms获取数据输出

Powershell Win32Reg_AddRemovePrograms获取数据输出
EN

Stack Overflow用户
提问于 2013-12-09 10:50:07
回答 3查看 4.8K关注 0票数 1

如何使InstallDateWin32Reg_AddRemovePrograms按日/月/年显示?

这是我需要使用的命令

get Win32Reg_AddRemovePrograms -ComputerName计算机#,其中{$_.DisplayName -notlike“修复”-and $_.DisplayName -notlike“安全更新”-and $_.DisplayName -notlike "*Update *"} {$_.DisplayName选择DisplayName,Version,Publisher,InstallDate

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-09 11:58:29

如果InstallDate看起来像Win32_Product类的InstallDate (例如,20131209):

代码语言:javascript
复制
[DateTime]::ParseExact('20131209','yyyyMMdd',$null).ToString('dd/MM/yyyy')
票数 3
EN

Stack Overflow用户

发布于 2013-12-09 11:54:56

为了让您知道Win32Reg_AddRemovePrograms类不是一个常见的类,它是由SMS/SCCM添加的。它也只显示与32位程序相关的信息.Source

由于这个原因,我在车站上没有可用的类,也不能为您提供确切的步骤。请提供此命令的输出:

代码语言:javascript
复制
$item = $gwmi Win32Reg_AddRemovePrograms | select -first 1
$item.InstallDate
$item.InstallDate.GetType().fullname
票数 2
EN

Stack Overflow用户

发布于 2013-12-09 11:31:05

一种方法是格式化日期,如下面的示例所示。

代码语言:javascript
复制
$date=Get-Date

2013年12月9日(星期一)上午5:29:50

代码语言:javascript
复制
$date.ToString("dd/MM/yyyy") 

2013年12月9日

编辑:我没有访问Win32Reg_AddRemovePrograms的权限,所以没有测试。

试着在结尾添加以下内容:

代码语言:javascript
复制
   | %{ $_.InstallDate = ($_.InstallDate.tostring("dd/MM/yyyy") ); $_ }

所以最后一句:(加了“换行”)

代码语言:javascript
复制
get-wmiobject -Class Win32Reg_AddRemovePrograms -ComputerName AComputer| `  
where {$_.DisplayName -notlike "hotfix" -and $_.DisplayName -notlike "Security Update" -and $_.DisplayName -notlike "*Update for Windows *"} | `  
select DisplayName,Version,Publisher,InstallDate | `  
%{ $_.InstallDate = ($_.InstallDate.tostring("dd/MM/yyyy") ); $_ }

或者是像Shay提到的日期格式,

代码语言:javascript
复制
| %{ $_.InstallDate = ([DateTime]::ParseExact($_.InstallDate,'yyyyMMdd',$null).ToString('dd/MM/yyyy')) ;$_}

完整脚本:

代码语言:javascript
复制
get-wmiobject -Class Win32Reg_AddRemovePrograms -ComputerName AComputer| `  
where {$_.DisplayName -notlike "hotfix" -and $_.DisplayName -notlike "Security Update" -and $_.DisplayName -notlike "*Update for Windows *"} | `  
select DisplayName,Version,Publisher,InstallDate | `  
%{ $_.InstallDate = ([DateTime]::ParseExact($_.InstallDate,'yyyyMMdd',$null).ToString('dd/MM/yyyy')) ;$_}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20468690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档