|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Проблема с двойным Foreach |
|
PowerShell - [решено] Проблема с двойным Foreach
|
Новый участник Сообщения: 27 |
Всем привет!
Помогите понять логику Foreach... Не могу понять почему скрипт который выглядит вот так: $Time = (Get-Date) - (New-TimeSpan -Hours 24) $events = @() $events += Get-WinEvent -FilterHashtable @{Logname = "Security" ; ID = 4800,4801; StartTime = $Time} $events += Get-WinEvent -FilterHashtable @{Logname = "System" ; ID = 7001,7002; StartTime = $Time} $Date = Get-Date -format yyyy-MM-dd $ArrayList = New-Object System.Collections.ArrayList Foreach ($Event in $Events) { [xml]$Xml = $Event.ToXml() $Row = "" | Select Username,TimeCreated,Operation $Row.Username = $EventProperties[1].value $Row.TimeCreated = $Event.TimeCreated.ToString() $Row.Operation = $Event.ID [void]$ArrayList.Add($Row) } $ArrayList | Sort TimeCreated $Time = (Get-Date) - (New-TimeSpan -Hours 24) $Servers = Get-Content "C:\temp\Comp.txt" Foreach ($Server in $Servers) { if(Test-Connection $Server -Count 2 -Quiet ) { $events = @() $events += Get-WinEvent -ComputerName $Server -FilterHashtable @{Logname = "Security" ; ID = 4800,4801; StartTime = $Time} $events += Get-WinEvent -ComputerName $Server -FilterHashtable @{Logname = "System" ; ID = 7001,7002; StartTime = $Time} $Date = Get-Date -format yyyy-MM-dd $ArrayList = New-Object System.Collections.ArrayList Foreach ($Event in $Events) { [xml]$Xml = $Event.ToXml() $Row = "" | Select Username,TimeCreated,Operation $Row.Username = $EventProperties[1].value $Row.TimeCreated = $Event.TimeCreated.ToString() $Row.Operation = $Event.ID [void]$ArrayList.Add($Row) } } else {} } $ArrayList | Sort TimeCreated |
|
Отправлено: 15:57, 15-09-2021 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 17:21, 16-09-2021 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать ivan.vas, так «не дёргается». Именно «$EventProperties» — вообще ниоткуда.
|
Отправлено: 21:44, 16-09-2021 | #12 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Да просто точка пропущена.
|
------- Отправлено: 09:06, 17-09-2021 | #13 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:27, 17-09-2021 | #14 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать DJ Mogarych, Iska, вы правы, скрипт работал. Но потом вспомнив, почти тоже самое
Цитата Iska:
Правильно вот так выглядит: [xml]$Xml = $Event.ToXml() $Row = "" | Select Username,TimeCreated,Operation $Row.Username = $eventProperties[1].value ![]() |
|
Отправлено: 16:41, 17-09-2021 | #15 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать ivan.vas, да без разницы, с заглавной или со строчной, PowerShell не различает регистр символов в переменной. Вы скорее всего пропустили точку, т.е. переменная зовётся не «$EventProperties», а «$Event», а «Properties» — её свойство/метод.
|
Отправлено: 21:04, 17-09-2021 | #16 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Так и есть, и я в своём сообщении №6 выше в коде эту ошибку учёл.
|
------- Отправлено: 08:35, 18-09-2021 | #17 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Iska, вы правы. Спасибо.
|
Отправлено: 12:17, 20-09-2021 | #18 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - Как добавить исключение в foreach | Nightwolf_82 | Скриптовые языки администрирования Windows | 3 | 02-01-2018 06:21 | |
PowerShell - ForEach и ForEach-Object начать с конца (наоборот)... | Buddha.g | Скриптовые языки администрирования Windows | 2 | 12-10-2016 03:10 | |
Разное - [решено] Проблема с двойным кликом мыши | kirillius | Microsoft Windows 7 | 3 | 07-05-2016 11:59 | |
PowerShell - Обработка коллекции через foreach () | rudimko | Скриптовые языки администрирования Windows | 12 | 25-06-2013 21:51 | |
.NET - Перекрытие области видимости в цикле foreach | Delirium | Программирование и базы данных | 2 | 18-09-2010 02:06 |
|