我正在试图找到一个在服务器上卸载程序的用户。这是我正在使用的脚本和结果。从事件查看器中,我可以看到用户,但看起来像Get-WinEvent返回UserId,但没有用户名。有办法从返回事件1034的用户名吗?
Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1034} -MaxEvents 1 | format-listTimeCreated : 6/17/2013 1:41:27 PM
ProviderName : MsiInstaller
Id : 1034
Message : Windows Installer removed the product. Product Name: PAL. Product Version: 2.3.2. Product Language:
1033. Manufacturer: PAL. Removal success or error status: 0.发布于 2013-06-17 19:44:16
使用.NET的SecurityIdentifier,as described here。
Get-WinEvent -MaxEvents 1000 | foreach {
$sid = $_.userid;
if($sid -eq $null) { return; }
$objSID = New-Object System.Security.Principal.SecurityIdentifier($sid);
$objUser = $objSID.Translate([System.Security.Principal.NTAccount]);
Write-Host $objUser.Value;
}对于非空用户I,我能够成功地识别用户名.
https://stackoverflow.com/questions/17155311
复制相似问题