La programación es necesaria para realizar tareas de forma automática y consiste en indicar ordenes al sistema, en PowerShell el conjunto de ordenes se puede realizar mediante scripts. Un script contiene un conjunto de comandos (cmdlets) y elementos de programación (bucles, condicionales, comparaciones, etc.) que se ejecutan sobre PowerShell y realizan alguna función. Ahora podemos hacernos algunas preguntas relacionadas con lo que queremos hacer utilizando scripts: ¿Cómo almacenar un valor de forma temporal? ¿Cómo almacenar un valor de forma permanente? ¿Cómo buscar una cadena? ¿Cómo buscar una cadena que ha introducido el usuario? ¿Cómo distinguir entre dos opciones? ¿Cómo distinguir entre varias opciones? ¿Cómo repetir algo? ¿Cómo utilizar algo nuevamente y no queremos añadirlo al código?