2012-07-30 11 views
5

Podczas dostarczania skryptu klientom skrypt nie zostanie wykonany, dopóki nie zostanie ustawiona metoda-wykonywaniapolicy.Co to jest typową praktyką do wykonania Set-executionpolicy w środowisku produkcyjnym?

Jaka jest najczęstsza praktyka dostarczania skryptu klientom?

Określa, czy metoda set-executionpolicy zostanie uruchomiona jako pierwsze polecenie w skrypcie, aby mogła zostać wykonana bez żadnego błędu, lub że niektóre dokumenty zostaną przechwycone o zasadach set-executionpolicy.

Po raz pierwszy dajemy naszym klientom skrypt powershell. Wcześniej po prostu używałem do wykonywania w naszym środowisku, więc nie myślałem o tym.

Ktoś proszę mi pomóc, aby uzyskać pewne światło na ten

+1

Odpowiedź @manojlds jest dokładnie tym, co bym zrobił, tylko komentarz strony: umieszczenie Set-ExecutionPolicy jako pierwszej linii w twoim skrypcie nie ma większego sensu, to i tak nie będzie działać. Sugerowałbym również użycie ważnego certyfikatu i podpisanie twojego skryptu, więc jeśli użyją AllSigned, twój skrypt będzie działał bez wsadu. Należy pamiętać, że jeśli jest to skonfigurowane za pomocą GPO - przełącznik -ExecutionPolicy na powershell.exe nie pomoże. – BartekB

Odpowiedz

6

jedno podejście:

Również wysłać plik bat jako owijki do .ps1 który zrobi coś takiego:

@powershell -ExecutionPolicy RemoteSigned -File script.ps1 
+4

Podobają mi się to podejście, ponieważ nie rzuca ono polityki wykonawczej użytkownika na nową wartość bez wiedzy o niej. Po prostu ustawia zasady wykonywania skryptu, który ma zostać uruchomiony. –

4

Jeśli dostarczam klientowi skrypt, podpisuję go cyfrowo i zalecam, aby rozważył użycie zasady wykonywania REMOTESIGNED.

Dla większości administratorów normalnie polecam UNRESTRICTED. Ci administratorzy mają wystarczającą moc, dzięki czemu przeskakują przez obręcze, aby uruchomić kod, wydaje się stratą czasu. Pod koniec dnia mogą ZAWSZE uruchamiać kod w ten czy inny sposób - więc po co marnować czas na podpisywanie wymagań.

Powiązane problemy