Jump to content

Schranz

Members
  • Gesamte Inhalte

    52
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Schranz

  1. So einfach, aber effektiv :) Klappt super. Wo ist der Danke Button?
  2. [PS] C:\skripte\exc-stat>$results 2507 #Send Mails by domain1 3996 #Received Mails by domain1 3673 #Send Mails by domain2 3576 #Received Mails by domain2 3996 #Send Mails by domain3 3673 #Received Mails by domain3 Pro $domain 2 Zahlen. Also bei 3 Domains 6 Zahlen. Die Kommentare stehen natürlich nicht drin.
  3. Moin, (evt gehörts auch eher in den Scriptingbereich) Was ich möchte: Eine CSV mit folgendem Inhalt: Domain;Send,Receive @domain.tld;2365;2456 Was ich habe: #erster Tag im jeweiligen Monat $startdate = get-date -Second 00 -Minute 00 -Hour 00 -Day 1 -UFormat "%m/%d/%Y %T" #aktueller Tag im jeweiligen Monat $enddate = get-date -UFormat "%m/%d/%Y %T" #Pfad der logdatei $OutputCSVFile = "C:\skripte\exc-stat\mails.csv" #Pfad der logdatei #hier neue Domains mit wildcars eintragen und inkl ". Bsp: "*domain@tld.de" $domains = @("*@domain1.de", "*@domain2", "*@domain3.de" ) #resultsarray $results = @() #Liste mit alles Transportservern füllen $hubs = Get-TransportServer #für jede Domain wird die Schleife einmal durchlaufen, um gesendete und empfange Mails zu ermittln foreach ($domain in $domains) { $results += ($hubs | Get-MessageTrackingLog -ResultSize Unlimited -Start $startdate -End $enddate | Where-Object { $_.Sender -like $domain -and ( $_.EventId -eq "SEND" -or $_.EventId -eq "DELIVER") }).count $results += ($hubs | Get-MessageTrackingLog -ResultSize Unlimited -Start $startdate -End $enddate | Where-Object { $_.Recipients -like $domain -and ( $_.EventId -eq "RECEIVE" ) }).count } #Ausgabe des Arrays in csv #Hier stehe ich aufn Schlauch# Wie bekomme ich jetzt meine Zahlen sinnvoll in die CSV? Irgendwie hab ich ne Blockade. Die Alternative wäre alle Zahlen für jede Domain in eine txt zu schreiben und die Aufbereitung danach zu machen. gruß, schranz
  4. Danke. Es hängt doch immer an so Kleinigkeiten. DA war der Sprung aus der Phyton/C++ Welt garnicht so leicht wie gedacht. Habe mir schon gestern ein wenig Lesestoff bestellt.
  5. Okay Level 3: $send = $hubs Get-MessageTrackingLog -ResultSize Unlimited -Start $startdate -End $enddate | Where-Object { $_.Sender -like "*@domain.tld" -and ( $_.EventId -eq "SEND" -or $_.EventId -eq "DELIVER")}.Count $send >> domain.log Unerwartetes Token "Get-MessageTrackingLog" im Ausdruck oder in der Anweisung. Bei C:\skripte\exc-stat\get-sendmails_2.ps1:4 Zeichen:37 + $send = $hubs Get-MessageTrackingLog <<<< -ResultSize Unlimited -Start $startdate -End $enddate | Where-Object { $_. Sender -like "*@domain.tld" -and ( $_.EventId -eq "SEND" -or $_.EventId -eq "DELIVER")}.Count + CategoryInfo : ParserError: (Get-MessageTrackingLog:String) [], ParseException + FullyQualifiedErrorId : UnexpectedToken Ich möchte mir den Weg in die batch ersparen und gleich in der powershell die Ergebnisse zählen.
  6. Also welche Server muss ich auswerten um alle zu erwischen?
  7. Aber die schreiben noch garkeine TrackingLogDaten! Ich sehe ich stehe mir selbst im Weg manchmal. Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isClientAccessServer -eq $true} muss es natürlich heissen... :rolleyes:
  8. Ok kurze Übersicht: exc1 HUB+CAS exc2 HUB+CAS exc3 DAG exc4 DAG Und trotzdem pflügt die Powershell alle 4 Server durch. Obwohl bei exc3 und exc4 keiner der beiden Möglichkeiten zutrifft.
  9. Bonusfrage: Ich habe vorne Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} stehen, damit er nur die Messagelogs auf den Hub/Cas Servern durch pflügt. Aber in der Console sehe ich, das er auch die Server mit der DAG Rolle durchsucht, warum tut er das jetzt? Heute morgen hat er das noch nicht getan.
  10. Lösung: Es waren runter Klammern von nöten.
  11. Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -ResultSize Unlimited -Start $startdate -End $enddate | Where-Object { $_.Sender -like "*@domain.tld" -and $_.EventID -eq "SEND" -or $_.EventID -eq "DELIVER"} >> C:\exc-stat\domain.log Okay, das funktioniert ansich. Nur leider listet der Deliver Parameter alles mögliche auf :( eine Idee wie ich auch die Mails von intern nach intern rausbekomme? Edit: Kleines Verständnisproblem: Ich sage ihm er soll mir alle Einträge rauswerfen die: Sender = *@domaint.tld und EventID = SEND oder EventID = DELIVER soweit so gut ABER: ich habe in meiner domain.log auch Eintrage drin die, wo der SENDER name@Domain2.tld ist. Edit2: ich hab alles in dem logfile :D. Ich vermute mal das einfach aneinanderreihen hat wohl nicht geklappt. Edit3: Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -ResultSize Unlimited -Start $startdate -End $enddate | Where-Object { $_.Sender -like "*@domain.tld" -and { Where-Object { $_.EventID -eq "SEND" -or $_.EventID -eq "DELIVER"}}} >> C:\exc-stat\domain.log Auch das funktioniert nicht wie gewollt...
  12. Okay ich möchte "Send" für die SMTP Mails nach extern und mmn ist "Deliver" dann die andere ID für intern, oder? Wie verknüpfe ich die in der Abfrage? ?
  13. Alles klar, danke für die Erklärung. Funktioniert jetzt auch so wie ich das will. Nur zwei Fragen bleiben noch offen. 1. ich muss mir die Stats von allen Hub/CAS Rollenservern holen und sie dann zusammenrechnen lassen. Geht das auch alles von einem Server aus? SOLVED 2. Kann es sein das das CMDLET nur die externen Mails auflistet? gruß
  14. Search Message Tracking Logs: Exchange 2010 Help unter Controlling the Output of a Message Tracking Log Search Performed in the Exchange Management Shell Oder ich habe einen Denkfehler, was nicht auszuschließen ist.
  15. Vielen Dank. Aber werden laut Technet nicht Wildcards schon dort supportet?! Brainbug gefunden. Danke. Edit: Kurze Frage noch, gibt Get-MessageTrackingLog nur die Mails nach extern aus? Ich hab nicht eine Mail von intern nach intern drin. Hm.
  16. Moin, Was ich möchte: Die Anzahl aller Mails die wir von einer Postfachdatenbank/ Domain von uns verschickt wurden. Und das Monatlich. Der Befehl läuft durch und die domain.log wird auch erstellt. Aber sie ist leer. Vermutlich ists nur nen kleiner Fehler, aber ich raffs nicht. EXC2010, Skript wird auf dem Server mit der Transporterrolle gefahren. Hier mein Aufruf: C:\skripte\exc-stat>Get-MessageTrackingLog -ResultSize Unlimited -Start "01/01/2012 00:00:00" -End "01/31/2012 23:5 9:59" -EventId "Send" -Sender "*@domain.tld" > C:\log\exc-stat\domain.log Ideen?
  17. Schranz

    TS/Reg/Drucker

    Das ist eine gute Idee. Ich werde meine Wiesel (Azubis) mal auf die Suche in die Firma schicken.
  18. Schranz

    TS/Reg/Drucker

    Ok, ich hatte einen Teilerfolg. Die AD GPO wurde NACH der Citrix GPO angewendet. Jetzt muss ich nur noch die Altlasten loswerden. Da werde ich wohl ein Startskript bauen was die Druckereinträge cleant. Ich melde mich!
  19. Schranz

    TS/Reg/Drucker

    Die Citrixrichtlinie verbietet die Mitnahme von Clientdruckern bereits, wie ich jetzt feststelle. Sehr Sonderbar.
  20. Schranz

    TS/Reg/Drucker

    Die Leute gehen per Citrix Online Plugin auf die Citrixserver und bekommen nur Applikationen mit ICA gestreamt. Dein Anmelde/Abmelde-Szenarion sollte trotzdem klappen. Sehen werde ich das morgen, wenn sich ALLE User aus der Domäne neu angemeldet haben und somit die neue GPO für alle zieht. Danke schonmal. Im Prinzip hatte ich die Lösung ja, aber manchmal fehlt mir noch das letzte bisschen Verständnis für diese Windowsserverwelt. (komme von Linux/Unix only) Gruß
  21. Schranz

    TS/Reg/Drucker

    Moin, ein besserer Threadtitel ist mir nicht eingefallen. Aber offen für Ideen :) Was bisher geschah: In einer mir neuen TS/Citrix/XenApp Umgebung ist einem Kunden aufgefallen, dass im Druckdialog, bei allen Programmen, viele Drucker hat, die er 1. nicht kennt und 2. wir nie diese Drucker installiert haben. Was ich bisher getan habe: Ich habe eine GPO gebaut (Windows-Komponenten/Remotedesktopdienste/Remotedesktopsitzungs-Host/Druckerumleitung) und dort die Clientdruckerumleitung nicht zulassen option aktivier. Somit wird das Problem in Zukunft nicht mehr auftreten. Was mein Problem ist: Natürlich sind die alten Drucker noch in den Einstellungen der User. Wie werde ich diese Leichen wieder los? Natürlich kann ich den Effekt meiner GPO-Änderung erst verifizieren, wenn die Leichen weg sind. gruß, shrnz
  22. Jemand eine Idee? Das nicht interpretieren mit ^ hat leider kein Erfolg gebracht.
  23. So ich habe das mit AdFind gelöst. Sehr geiles Tool übrigens. Inhalt meiner userabfrage.bat set JAHR=%date:~-4% set MONAT=%date:~-7,2% set TAG=%date:~-10,2% set DATUM=%JAHR%%MONAT%%TAG% adfind -b OU=name,OU=name-RZ,DC=domain,DC=local -f "objectcategory=person" sAMAccountName description sn userAccountControl memberOf -csvdelim ; –csv >pfad\%DATUM%.csv Nur jetzt habe ich ein Problem: Wenn ich den AdFindaufruf über eine CMD.exe von Hand abfeuer, erzeugt er mir meine csv genau so wie sie sein soll. Jetzt aber bei meiner .bat (Inhalt siehe oben) schreibt er mir das Ergebnis so in die csv wie er sie auf der Konsole ausgeben würde. Also: Using server: dc.local:88888 Directory: Windows Server 2008 R2 dn:CN=CN,OU=OU,OU=OU,OU=OU,DC=DC,DC=local >sn: Mustermann >memberOf: CN=CN,OU=OU,OU=OU,OU=OU,DC=DC,DC=local >memberOf: CN=CN,OU=OU,OU=OU,OU=OU-RZ,DC=DC,DC=local >userAccountControl: 66048 >sAMAccountName: mustermann Vermutlich ist es nur ein kleiner Fehler, aber irgendwie raffe ich es nicht. Jemand ne Idee? Edit: Vermutlich interpretiert die Shell die >Pfad als Ihren Befehl und nicht als Parameter für die AdFind.exe... Gruß
  24. Ich stimme zu. Eine konkrete und umfassende Fallbeschreibung wäre besser gewesen. In diesem Fall ist es unglücklich gelaufen. Heute vormitttag haben sich die Anforderungen von einem einmaligen Report zu automatisierten täglichen Reports geändert. Ich werde meinen Startpost für andere Sucher anpassen. AdFind gehe ich jetzt mal an. Danke. Edit: Ok ich kann meinen Startpost nicht mehr ändern :(
  25. Hallo, Carmen hat mir soweit schonmal zur Lösung geholfen. Folgende Abfrage hat mein Problem gelöst: SELECT memberOf, userAccountControl, sAMAccountName, description, sn, givenName FROM 'LDAP://OU=Team1,OU=abteilung1,OU=Bereich,DC=domain,DC=local' WHERE objectClass='user' and objectCategory='person' Jetzt überlege ich mir, wie ich das automatisieren kann. Dazu jemand eine Idee? Editation: Ich weiss, das Ergebnis entspricht nicht ganz meiner Vorgabe im Startpost. Aber damit kann ich arbeiten.
×
×
  • Neu erstellen...