Powershell: Die Unterstützung für $ MaximumFunctionCount und andere Limits sollte entfernt werden

Erstellt am 10. Sept. 2016  ·  3Kommentare  ·  Quelle: PowerShell/PowerShell

Wir sollten erwägen, die folgenden Variablen zu entfernen:

PS> gv Max*Count

Name                           Value
----                           -----
MaximumAliasCount              4096
MaximumDriveCount              4096
MaximumErrorCount              256
MaximumFunctionCount           4096
MaximumHistoryCount            4096
MaximumVariableCount           4096

Sie schützen den Benutzer nicht wirklich vor irgendetwas (es ist einfach, Speicher auf viele andere Arten zu verbrauchen) und blockieren einige gültige Verwendungen, z. B. wenn Sie> 4096 Funktionen in InitialSessionState hinzufügen, werden die zusätzlichen Funktionen stillschweigend ausgeführt ignoriert - und es gibt keine gute Möglichkeit, dieses Limit zu erhöhen, bis der Runspace geöffnet ist.

Issue-Bug WG-Engine WG-Language

Hilfreichster Kommentar

Das ist eine sehr gute Idee.

Ich habe einige Zweifel daran, MaximumErrorCount entfernen. Es ist ganz anders
von den anderen und einigen Grenzen macht Sinn. Es können viele Fehler in sein
manche Fälle. Dies ist schlecht für lang laufende Prozesse. Entwickler müssen behalten
Beachten Sie, dass der Speicher durch Fehler und deren Pflege verloren gehen kann. Warum?

Außerdem, wenn Fehler wirklich gesammelt und analysiert werden müssen, dann Verwendung von
-ErrorVariable Parameter
$Error die auch Rauschfehler enthalten können. -ErrorVariable ist unbegrenzt.

Alle 3 Kommentare

Einverstanden. Ich würde viel lieber einen konsolidierten "Berichts" -Befehl sehen, der mir sagt, wie viele von jedem ich habe (noch besser, wenn er Speicherplatz anzeigen könnte). Für den Fall, dass ich eine Situation debuggen muss, in der zu viel Speicher für / von etwas verwendet wird. Aber auch ohne das wäre es in Ordnung, diese zu entfernen.

Das ist eine sehr gute Idee.

Ich habe einige Zweifel daran, MaximumErrorCount entfernen. Es ist ganz anders
von den anderen und einigen Grenzen macht Sinn. Es können viele Fehler in sein
manche Fälle. Dies ist schlecht für lang laufende Prozesse. Entwickler müssen behalten
Beachten Sie, dass der Speicher durch Fehler und deren Pflege verloren gehen kann. Warum?

Außerdem, wenn Fehler wirklich gesammelt und analysiert werden müssen, dann Verwendung von
-ErrorVariable Parameter
$Error die auch Rauschfehler enthalten können. -ErrorVariable ist unbegrenzt.

Das Entfernen der max -Wertvariablen bedeutet nicht, dass die Fehlersammlung nicht immer noch auf eine maximale Größe von 256 begrenzt werden konnte. Ich denke, die Frage in diesem Fall lautet - does anybody ever change (increase) that value ? Ich kann nicht sagen, dass ich das in mehr als 10 Jahren mit PowerShell jemals getan habe.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen