数组作为get-adcomputer中的过滤器的结果

时间:2017-10-26 08:00:03

标签: powershell active-directory powershell-v2.0 powershell-v3.0

我需要查阅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

2 个答案:

答案 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的值显示几个引号?