Powershell #Requires statement

By Andrei Ungureanu - Last updated: Friday, October 31, 2014 - Save & Share - Leave a Comment

De curand am dat de situatia in care am scris un script pe un sistem cu Powershell 3.0 si am ajuns sa il rulez pe un sistem ce avea doar versiunea 2.0. Stiam ca acest lucru s-ar putea intampla si am eliminat cmdlet-urile ce nu erau prezente in 2.0, apeland direct clasele din  DotNet. Cu toate acestea exista schimbari de sintaxa ce cateodata fac incompatibile scripturile scrise in versiuni diferite de Powershell.

Si pentru a elimina cateodata munca in zadar si confuzia celor care ne ruleaza scripturile, putem folosi declaratia #Requires unde putem specifica cateva cerinte minime pentru ca scriptul sa poata rula. Gen versiunea de Powershell, drepturi de admin sau prezenta unor anumite module.

#requires -RunAsAdministrator

image

Sau:

#requires –version 3

Iata de exemplu ce se intampla cand incerc sa rulez scriptul de mai sus dintr-un prompt cu drepturi normale.

image

Posted in Scripting • Tags: Top Of Page

Write a comment