我需要查阅Windows Server 2008计算机的安全事件日志,以了解用户尝试连接的计算机 因为存在被阻止的帐户,而且我不知道,因为PC会这样做。
案例是这个脚本做了我需要的东西,但它给了我机器的SID
及其名称。
如何传递$SID_PC
变量以使Get-AdComputer
有效并为我提供名称,而不是计算机的SID
?
$fecha = get-date -format yyyy-MMMM-mm
$logfile = "Control_eventos_seguridad_$fecha.txt"
#conectar con los visores de eventos de los DC's
$DC = "MI_DC"
write-host "Recuperando eventos de $DC..."
$lockoutevents = Get-WinEvent -ComputerName $DC -FilterHashtable @{LogName='Security';Id=4771} -erroraction silentlycontinue
if ($lockoutevents -ne $null)
{
foreach ($event in $lockoutevents)
{
$cuando = get-date($Event.TimeCreated) -uformat "%d/%m/%Y %H:%M:%S"
$quien = $event.Properties[0].Value
$SID_PC = $Event.Properties[1].Value
$donde = get-ADComputer -Filter {SID -like "$SID_PC"} -Properties * | Select-Object Name
out-file $logfile -input "$cuando $quien $donde" -append
}#fin foreach events
}#fin if events not null
#limpio el log de eventos repetidos
$cleanlogfile = get-content($logfile) | select -unique
$cleanlogfile | out-file $logfile
答案 0 :(得分:0)
Get-ADComputer -Identity $SID_PC | Select-Object Name
Get-ADComputer标识参数接受SID
检查身份参数说明 https://technet.microsoft.com/en-us/library/ee617192.aspx
答案 1 :(得分:0)
如果我看到你评论的那些选项,谢谢。 但问题仍然存在,它可能是我正在使用的那种输出;如果不以任何方式处理,则不能用作变量的数据类型。 或者,如何为评估liki的值显示几个引号?