PowerShell არის კარგი და მოწინავე კროს-პლატფორმული ამოცანების ავტომატიზაციის გადაწყვეტა. როგორც წესი, ძალიან მარტივია Windows სისტემაზე PowerShell სკრიპტის შექმნა და გაშვება. მაგრამ თქვენ შეიძლება ხელი შეგიშალოთ "ამ სისტემაში სკრიპტების გაშვება გამორთულია.” შეცდომის შეტყობინება, თუ თქვენს სისტემაში აწარმოებთ სკრიპტს. თუ სისტემის ადმინისტრატორმა დააწესა პოლიტიკა, რომ დაბლოკოს ნებისმიერი არაავტორიზებული სკრიპტის სისტემაში გაშვება, თქვენ ნახავთ მითითებულ შეცდომის შეტყობინებას. თქვენ უნდა განბლოკოთ პოლიტიკა ან შეცვალოთ რეესტრი და შეგიძლიათ გაუშვათ ნებისმიერი სკრიპტი.
Სარჩევი
შესწორება 1 – შეასწორეთ PowerShell
თქვენ შეგიძლიათ გაუშვათ კოდი მიმდინარე შესრულების პოლიტიკის გვერდის ავლით. ასე რომ, თქვენ არ გჭირდებათ მისი ჩარევა, მაგრამ შეგიძლიათ თქვენი სკრიპტის გაშვება.
1. დაჭერის შემდეგ Windows გასაღები + S გასაღებები ერთად, აკრიფეთ "powershell“.
2. შემდეგ დააჭირეთ მარჯვენა ღილაკს "Windows PowerShell”და შეეხეთ”Ადმინისტრატორის სახელით გაშვება“.
3. როდესაც Windows PowerShell ეკრანი გამოჩნდება, ტიპი ეს კოდი და შეცვალეთ იგი შესაბამისად და დააჭირეთ შედი რომ შეასრულოს იგი.
powershell -ExecutionPolicy ByPass -ფაილი დამწერლობის სახელი.ps1
[
უბრალოდ შეცვალეთ "nameofthescript.ps1” იმ სკრიპტის სახელწოდებით, რომლის გაშვებას ცდილობთ.
მაგალითი - დავუშვათ, სკრიპტის სახელია "myscript“, ბრძანება იქნება –
powershell -ExecutionPolicy ByPass -ფაილი myscript.ps1
]
რეკლამა
ამ გზით თქვენ შეგიძლიათ გაუშვათ ნებისმიერი სკრიპტი მიმდინარე სკრიპტის შესრულების პოლიტიკის შეცვლის გარეშე. მაგრამ, თუ თქვენ მასობრივად ასრულებთ სკრიპტებს ან ქმნით ავტომატიზებულ სკრიპტს, ეს არ იმუშავებს.
ამისათვის თქვენ უნდა გადახედოთ შემდეგ გამოსწორებას.
შესწორება 2 – შეცვალეთ შესრულების პოლიტიკა
თუ გსურთ, შეგიძლიათ შეცვალოთ შესრულების პოლიტიკის მიმდინარე პარამეტრები.
1. კვლავ დააჭირეთ Windows გასაღები და ჩაწერეთ "powershell“.
2. მოგვიანებით, დააწკაპუნეთ მარჯვენა ღილაკით "Windows PowerShell”და შეეხეთ”Ადმინისტრატორის სახელით გაშვება” ტერმინალის გახსნას ადმინისტრაციული უფლებებით.
3. როცა ის იხსნება, ტიპი ეს ბრძანება შეცვალოს შესრულების პოლიტიკა თქვენი არჩევანის მიხედვით.
Set-ExecutionPolicy RemoteSigned
[
თქვენ შეგიძლიათ დააყენოთ სკრიპტის შესრულების პოლიტიკა ოთხ სხვადასხვა რეჟიმზე. Ესენი არიან -
შეზღუდული – ნაგულისხმევი რეჟიმი, სადაც PowerShell არ იძლევა რაიმე სკრიპტის გაშვებას სისტემაში.
ყველახელმოწერილი – მხოლოდ ხელმოწერილი და ავტორიზებული სკრიპტები დაიშვებიან ამ რეჟიმში.
RemoteSigned – ამ რეჟიმში, ყველა სკრიპტს, რომელიც თქვენ გადმოწერეთ, უნდა ჰქონდეს სანდო ხელმოწერის ხელმოწერა.
შეუზღუდავი - შეგიძლიათ გაუშვათ თქვენთვის სასურველი ნებისმიერი სკრიპტი. არ არსებობს საზღვრები სანდო ხელმოწერის ან სანდო გამომცემლის შესახებ.
მაგალითი – დავუშვათ, გსურთ დააყენოთ პოლიტიკის პარამეტრები „RemoteSigned“, ბრძანება იქნება –
Set-ExecutionPolicy RemoteSigned
]
ამის შემდეგ დააჭირეთ "ი” და დაარტყა შედი.
4. თუ რაიმე შეცდომის შეტყობინებას შეხვდებით, უბრალოდ გაუშვით ეს ბრძანება.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
ისევ დაწერე "ი” და დაარტყა შედი.
როგორც კი ამას გააკეთებთ, შეგიძლიათ მარტივად გაუშვათ სკრიპტი, როგორც გსურთ.
ტესტირება სკრიპტის გაშვებით.
ᲨᲔᲜᲘᲨᲕᲜᲐ –
სკრიპტების შესრულების პოლიტიკა ჩვეულებრივ შეზღუდულია, რადგან არასწორად კონფიგურაციამ ან ცუდმა სკრიპტებმა შეიძლება ფატალური ზიანი მიაყენოს სისტემას. ასე რომ, როგორც კი დაასრულებთ სკრიპტის გაშვებას, შეგიძლიათ კვლავ დააყენოთ შესრულების პოლიტიკა „შეზღუდულ“ რეჟიმში.
1. PowerShell-ზე წვდომა ადმინისტრაციული პრივილეგიებით.
2. ახლა, უბრალოდ შეასრულეთ ეს ერთი კოდი, რათა შეზღუდოთ ნებისმიერი პოლიტიკა სისტემაში.
Set-ExecutionPolicy შეზღუდულია
3. ისევ დაწერე "ი” და დაარტყა შედი.
ამის შემდეგ დახურეთ PowerShell ფანჯარა.
დაფიქსირება 3 - რეესტრის რედაქტირება
თუ შესრულების პოლიტიკის შეცვლისას რაიმე შეცდომის შეტყობინებას შეხვდებით, შეგიძლიათ შეცვალოთ რეესტრის რედაქტორი.
1. უბრალოდ დაწერე"regedit.msc” საძიებო ველში დავალების პანელზე.
2. ამის შემდეგ, შეეხეთ "რეესტრის რედაქტორი” მასზე წვდომისთვის.
გაფრთხილება – თქვენ აპირებთ თქვენი რეესტრის შესწორებას. ვინაიდან რეესტრის რედაქტორი თქვენი სისტემის ძალიან მნიშვნელოვანი ნაწილია, წინასწარ უნდა გააკეთოთ რეესტრის სარეზერვო ასლი.
როდესაც რეესტრის რედაქტორი იხსნება, შეეხეთ "ფაილი“. შემდეგ შეეხეთ "ექსპორტი” თქვენს სისტემაში ახალი რეესტრის სარეზერვო ასლის შესაქმნელად.
მოგვიანებით, შეგიძლიათ გამოიყენოთ ეს სარეზერვო საშუალება, თუ რამე არასწორედ მოხდება.
3. ახლა გააფართოვეთ მარცხენა მხარე ამ გზით -
კომპიუტერი\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\ShellIds\ScriptedDiagnostics
4. შემდეგ, ორმაგი შეხება "აღსრულების პოლიტიკა”ორობითი მნიშვნელობა.
5. უბრალოდ დაწერე "შეუზღუდავი" ველში "Value Data:".
6. შემდეგ, შეეხეთ "კარგი” ამ ცვლილების შესანახად.
ამის შემდეგ დახურეთ რეესტრის რედაქტორი. რეესტრის რედაქტორის დახურვის შემდეგ, გადატვირთეთ სისტემა.
თქვენი კომპიუტერის გადატვირთვის შემდეგ, თქვენ შეგიძლიათ მარტივად გაუშვათ თქვენი არჩევანის სკრიპტი.