public void getCountUsers()
{
number = 0;
//UserList = new ObservableCollection<Users>();
UserList = new List<Users>();
EventLog myNewLog = new EventLog();
myNewLog.Log = "Security";
foreach (EventLogEntry entry in myNewLog.Entries)
{
if (entry.InstanceId == 4624 && entry.TimeWritten.Date == DateTime.Today)
{
Regex ip = new Regex(@"192");
Match IP = ip.Match(entry.ReplacementStrings[18]);
Regex tester = new Regex(@"127");
Match Tester = tester.Match(entry.ReplacementStrings[18]);
if (Tester.Success || IP.Success)
{
if (UserList.Count > 0)
{
bool check = false;
foreach (var user in UserList)
{
if (user.User == entry.ReplacementStrings[5])
{
user.countUsers += 1;
check = true;
}
}
if (!check)
{
Users u = new Users(1, entry.ReplacementStrings[5]);
UserList.Add(u);
}
}
else
{
Users u = new Users(1, entry.ReplacementStrings[5]);
//UserList = new ObservableCollection<Users>();
UserList = new List<Users>();
UserList.Add(u);
}
}
}
}
}
이것은 내가 얼마나 많은 사용자가 하루 동안에 있는지를 세는 데 사용하는 것입니다. 검색해야 할 것은 피크 시간대를 필터링하는 방법과 피크 시간대에 온라인에 있었던 사람 수와 그 안에 있던 사람 수를 필터링하는 것입니다. 당신이 더 이상 정보가 필요하면날짜 사이의 발생 횟수 계산
, 내가 것 기꺼이 편집
는 (15:00 총 15 사용자와 피크 시간입니다, 그래서 예를 12시 1 사용자가 15:00 15있다).
편집 :
foreach (EventLogEntry entry in myNewLog.Entries)
{
if (entry.InstanceId == 4624 && entry.TimeWritten.Date == DateTime.Today)
{
Regex ip = new Regex(@"192");
Match IP = ip.Match(entry.ReplacementStrings[18]);
string userName = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(entry.ReplacementStrings[5]);
Regex tester = new Regex(@"127");
Match Tester = tester.Match(entry.ReplacementStrings[18]);
if (IP.Success || Tester.Success)
{
Console.WriteLine(number +
". \t[Time of logon]\t\t" + entry.TimeWritten.ToLongTimeString() + "\t" + entry.TimeWritten.ToShortDateString() +
"\n \t[Username-logon]\t" + userName +
"\n \t[IP-Adress]\t\t" + entry.ReplacementStrings[18] +
"\n----------------------------------------------------------------------- ");
number++;
//Console.WriteLine(entry.TimeWritten.ToLongTimeString() + " ; " + entry.TimeWritten.ToShortDateString() + " ; " + entry.ReplacementStrings[5] + " ; " + entry.ReplacementStrings[18]);
}
}
}
위의 두 번째 부분을 출력 하에서 첫 부분을 출력한다. 이것은 당신이 후있어 물건의 종류
public void showAmount()
{
int indexUsername = 0;
++indexUsername;
Console.WriteLine("\nGebruikers:");
foreach (var user in UserList.Where(u => u.User != "SYSTEM"))
{
string userName = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(user.User);
//Console.WriteLine(indexUsername + ". " +" \t " + userName +"" + user.countUsers);
Console.WriteLine("#" +indexUsername + ".\t {0} has been online {1}x times ", userName, user.countUsers);
indexUsername++;
}
}
... –
나의 사과 :
는 여기에 귀하의 출력 문자열을 생성하는 방법입니다. 아무 것도 입력하지 않습니다. 로그 북에서 Windows 이벤트 로그를 검색하는데, 해당 날짜 이름 변수가 있습니다. – 308075
예를 들어 출력을 –