Powershell: Se debe eliminar el soporte para $ MaximumFunctionCount y otros límites

Creado en 10 sept. 2016  ·  3Comentarios  ·  Fuente: PowerShell/PowerShell

Deberíamos considerar eliminar las siguientes variables:

PS> gv Max*Count

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

En realidad, no protegen al usuario de nada (es fácil usar la memoria de muchas otras formas) y bloquean algunos usos válidos, por ejemplo, si agrega> 4096 funciones en InitialSessionState , las funciones adicionales serán silenciosas ignorado, y no hay una buena manera de aumentar ese límite hasta después de que el espacio de ejecución esté abierto.

Issue-Bug WG-Engine WG-Language

Comentario más útil

Es una muy buena idea.

Tengo algunas dudas sobre la eliminación de MaximumErrorCount . Es muy diferente
de los demás y algún límite tiene sentido. Puede haber muchos errores en
algunos casos. Esto es malo para los procesos de larga ejecución. Los desarrolladores deben mantener
Tenga en cuenta que la memoria puede filtrarse por errores y cuidado de esto. ¿Por qué?

Además, cuando los errores realmente deben recopilarse y analizarse, el uso de
-ErrorVariable parámetro para un comando en particular es mejor que el uso de
$Error que también puede contener errores de ruido. -ErrorVariable es ilimitado.

Todos 3 comentarios

Acordado. Prefiero ver un comando de "informes" consolidado que me diga cuántos de cada uno tengo (incluso mejor si pudiera mostrar la huella de memoria). En caso de que necesite depurar una situación en la que se usa demasiada memoria para / por algo. Pero incluso sin eso, sí, estaría bien eliminándolos.

Es una muy buena idea.

Tengo algunas dudas sobre la eliminación de MaximumErrorCount . Es muy diferente
de los demás y algún límite tiene sentido. Puede haber muchos errores en
algunos casos. Esto es malo para los procesos de larga ejecución. Los desarrolladores deben mantener
Tenga en cuenta que la memoria puede filtrarse por errores y cuidado de esto. ¿Por qué?

Además, cuando los errores realmente deben recopilarse y analizarse, el uso de
-ErrorVariable parámetro para un comando en particular es mejor que el uso de
$Error que también puede contener errores de ruido. -ErrorVariable es ilimitado.

Eliminar la variable de valor max no significa que la colección de errores aún no se pueda limitar a un tamaño máximo de 256. Supongo que la pregunta en este caso es - does anybody ever change (increase) that value ? No puedo decir que haya hecho eso en más de 10 años usando PowerShell.

¿Fue útil esta página
0 / 5 - 0 calificaciones