chrisdynamite
Goto Top

Unlimited-Schalter in Powershell überwinden

Hallo zusammen,

Per Code suche ich alle Usermailboxes, bei welchen Herr oder Frau sowie der Vorname nicht leer ist. Testweise gebe ich mir nur die Anzahl der Aufzählungen aus. Ich komme jedoch nicht über den Wert 1000, egal wie ich es drehe und wende.

Kann mir bitte jemand eine Hilfestellung geben?

Danke und Grüße

Chris

$i= 0
$Entries = (get-mailbox -ResultSize "unlimited" | where {$_.RecipientTypeDetails -eq "Usermailbox"}).alias | get-user | where {$_.Title -ne $null -and $_.Firstname -ne $null}  
foreach ($Entry in $Entries) 
{
    $i++
    write-host($i) -ForegroundColor Red
}
Write-Host("Summe: " + $i) -ForegroundColor Green  

Content-Key: 438436

Url: https://administrator.de/contentid/438436

Printed on: April 27, 2024 at 00:04 o'clock

Member: St-Andreas
St-Andreas Apr 09, 2019 at 12:12:54 (UTC)
Goto Top
Ich bin jetzt nicht der Skripting Profi, aber wäre es nicht sinnvoller die Anzahl über $Entries.length auszugeben?
Member: ChrisDynamite
ChrisDynamite Apr 09, 2019 at 12:16:38 (UTC)
Goto Top
mit Sicherheit, jedoch brauche ich das ja nur um testweise zu ermitteln ob die schleife überhaupt durchgeführt wird.
Mitglied: 139374
139374 Apr 09, 2019 updated at 12:20:23 (UTC)
Goto Top
Weg mit den Anführungszeichen um "Unlimited"
Manual lesen sollte man eigentlich erwarten können
https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/ge ...
Member: ChrisDynamite
ChrisDynamite Apr 09, 2019 at 12:21:02 (UTC)
Goto Top
das habe ich auch bereits versucht.
Mitglied: 139374
139374 Apr 09, 2019 updated at 12:22:35 (UTC)
Goto Top
Dann habt ihr im Exchange im Throttling die maximale Anzahl an EWS Anfragen begrenzt.
Member: ChrisDynamite
ChrisDynamite Apr 09, 2019 at 12:23:45 (UTC)
Goto Top
Du würdest also auch sagen der Code stimmt?
Mitglied: 139374
139374 Apr 09, 2019 updated at 12:40:03 (UTC)
Goto Top
Bis auf die extrem ##### Schleifen-Zählung um die Anzahl zu ermitteln, ja. 😂😂😂
Member: ChrisDynamite
ChrisDynamite Apr 09, 2019 at 12:27:06 (UTC)
Goto Top
Was ein sachliches Forum. Ich liebe es.
Mitglied: 139374
139374 Apr 09, 2019 updated at 12:43:05 (UTC)
Goto Top
Member: St-Andreas
St-Andreas Apr 09, 2019 at 12:29:35 (UTC)
Goto Top
Dafür brauchst Du doch keine Schleife aus dem Basicprogrammiergrundkurs. Wenn die Länge ungleich Null ist dann sollte da ja was drin sein.
Mitglied: 139374
139374 Apr 09, 2019 updated at 12:34:43 (UTC)
Goto Top
Vielleicht hat er sich mit der Schleife ja nur in der Zwischenzeit die Schuhe binden wollen face-smile.

Chris : denk doch mal nach, du speicherst das Ergebnis in einer Variablen als Array, was bringt dir dann die Schleife?? Genau, gar nichts. Denn die Anzahl steht in der Property Length der Array-Variablen, also vollkommen überflüssiger Overhead.
Member: ChrisDynamite
ChrisDynamite Apr 09, 2019 at 12:34:10 (UTC)
Goto Top
Was soll die Diskriminierung? Ich habe eine Antwort erbeten und keine Besserwisserei.
Member: St-Andreas
St-Andreas Apr 09, 2019 at 12:35:28 (UTC)
Goto Top
Liegt denn Dein Problem in der Abfrage, oder in der Schleife?
Mitglied: 139374
139374 Apr 09, 2019 updated at 12:36:16 (UTC)
Goto Top
Hä? Die hast du bekommen, stell dein Throttling passend ein, aber das scheinst du ja zu ignorieren.
Member: ChrisDynamite
ChrisDynamite Apr 09, 2019 at 12:36:12 (UTC)
Goto Top
Die Schleife ist mir doch egal. Ich brauche einfach eine Anzahl sagen wir 320
So weiß ich dass die Abfrage richtig ist.
Member: ChrisDynamite
ChrisDynamite Apr 09, 2019 at 12:36:43 (UTC)
Goto Top
Danke. Den Rest kannst du dir trotzdem sparen.
Member: St-Andreas
St-Andreas Apr 09, 2019 updated at 12:37:26 (UTC)
Goto Top
Mach Dich mal schlau was "Diskriminierung" wirklich bedeutet.
Wenn Du das hier als "diskriminierend" bezeichnest, dann verharmlost Du Diskriminierung.
Mitglied: 139374
139374 Apr 09, 2019 updated at 12:40:55 (UTC)
Goto Top
Zitat von @ChrisDynamite:

Die Schleife ist mir doch egal. Ich brauche einfach eine Anzahl sagen wir 320
So weiß ich dass die Abfrage richtig ist.
Die Antwort hat dir StAndreas schon gegeben
$entries.Length
Oder
$entries.Count
Liefert dir die Anzahl der passenden User aus der Array-Variablen

Ansonsten hast du deine Frage nicht richtig gestellt das wir sie passend beantworten können.

Erst willst du mehr wie 1000 haben und jetzt 320??? Überdenke deine Fragestellung !
Member: falscher-sperrstatus
falscher-sperrstatus Apr 09, 2019 updated at 12:41:37 (UTC)
Goto Top
Hallo @139374,

da hier einige Meldungen hereinkamen, dass du Diskriminierend und beleidigend seist, bitte unterlass die Beleidigungen, zum Thema Diskriminierung sollte sich der Melder allerdings nochmals etwas eigenes Wissen aneignen. Der Hinweis, dass auch selbst etwas erarbeitet werden darf ist nicht unbedingt fehl am Platz.

VG
Member: ChrisDynamite
ChrisDynamite Apr 09, 2019 at 12:41:46 (UTC)
Goto Top
Alles ist gut. Ich arbeite jetzt weiter. face-smile
Member: ChrisDynamite
ChrisDynamite Apr 09, 2019 at 14:21:51 (UTC)
Goto Top
Getreu dem Motto: "Sei du selbst die Veränderung, die du dir wünschst für diese Welt." hier meine Lösung.
Übrigens das Throttling war nicht schuld, sondern der von mir zunächst falsche Code.

get-mailbox -ResultSize unlimited | where {$_.RecipientTypeDetails -eq "Usermailbox"} | get-user | where {$_.Firstname -ne $null -and $_.Lastname -ne $null -and $_.Title -ne $null}  

So erhalte ich nun alle Mailboxes, welche über 2 Commandos gespannt gefiltert wird.

Danke für... naja Danke halt face-smile
Member: Daemmerung
Daemmerung Apr 09, 2019 at 16:12:26 (UTC)
Goto Top
Hallo Kollege,

mit Where-Object" filterst du clientseitig. Versuch deinen Filter direkt über das CmdLet "Get-Mailbox" anzuwenden, mittels Parameter "-Filter". Damit filterst du direkt serverseitig und hast das Problem mit der Limitierung größtenteils eingedämmt.

Viele Grüße
Toni