PowerShell Script (edit)

https://docs.microsoft.com/en-us/powershell/scripting/getting-started/starting-windows-powershell?view=powershell-6

https://www.windowscentral.com/how-create-and-run-your-first-powershell-script-file-windows-10

PowerShell là một shell tương tác và ngôn ngữ kịch bản từ Microsoft làm thay đổi suy nghĩ về một shell dòng lệnh. Nó có các tính năng rất thú vị hơn và vượt trội hơn so với những shell Unix quen thuộc, và có một hệ sinh thái mạnh mẽ và cộng đồng đông đảo.

Trong hai phần hướng dẫn này, bạn sẽ tìm hiểu về một số thứ tuyệt vời mà bạn có thể làm với PowerShell, lịch sử và kiến trúc của nó, khái niệm của nó và so sánh nó với shell Unix chẳng hạn như Bash. Hãy sẵn sàng cho một cuộc hành trình thú vị!

Nếu bạn đang ở trên Windows 10, thì bạn đã có sẵn nó. Nếu không, tải nó từ trang web của Microsoft.

Khi PowerShell được cài đặt, điều đầu tiên bạn muốn làm là cho phép thực thi script. Khởi chạy PowerShell với quyền quản trị và gõ: Set-ExecutionPolicy RemoteSigned. Bạn chỉ cần làm điều đó một lần. Bây giờ, cập nhật các tập tin trợ giúp: Update-Help -Force.

https://code.tutsplus.com/vi/tutorials/the-power-of-powershell-part-1--cms-27419

Là một Quản trị viên, bạn có thể đặt chính sách thực thi bằng cách nhập chính sách này vào cửa sổ PowerShell của mình:

CMD > Set-ExecutionPolicy RemoteSigned

CMD > & .\test.ps1

PowerShell.exe -ExecutionPolicy RemoteSigned -File "C:\Users\xxx\Desktop\test.ps1"

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-6

Set-ExecutionPolicy

https://quantrimang.com/10-lenh-powershell-co-ban-huu-ich-danh-cho-windows-74813

Nếu bạn muốn thay đổi chính sách thành RemoteSign chỉ cho Người dùng hiện tại, bạn sẽ chạy lệnh sau:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Nếu bạn ở trong môi trường mà bạn không phải là quản trị viên, bạn có thể đặt Chính sách thực thi chỉ dành cho bạn và nó sẽ không yêu cầu quản trị viên.

Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "RemoteSigned"

hoặc là

Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "Unrestricted"

Mặc dù bạn có thể tạo và thực thi các đoạn mã PowerShell khác nhau, nhưng ở chế độ mặc định Microsoft đã tắt bỏ tính năng này để phòng tránh các loại mã độc khác nhau khi xâm nhập vào hệ thống có thể tự kích hoạt và khởi động trong môi trường PowerShell. Người sử dụng có thể áp dụng lệnh Set-ExecutionPolicy để thiết lập các mức bảo mật khác nhau, cụ thể có 4 lựa chọn phù hợp:

 - Restricted: đây là chính sách mặc định của hệ thống, các câu lệnh PowerShell đều bị khóa, người sử dụng chỉ có thể nhập lệnh nhưng không thực thi được.

 - All Signed: nếu bạn hoặc người quản trị thiết lập mức All Signed thì các đoạn mã sẽ được thực thi, nhưng chỉ áp dụng với những thành phần được chỉ định rõ ràng.

 - Remote Signed: chính sách bảo mật khi ở mức này, bất cứ đoạn mã PowerShell được tạo bên trong hệ thống local sẽ được phép hoạt động. Còn những mã tạo qua remote thì chỉ được phép chạy khi gán thuộc tính đầy đủ.

 - Unrestricted: không áp dụng bất cứ hình thức ngăn cấm nào trong hệ thống.

Cú pháp chung của lệnh này bao gồm tên của lệnh Set-ExecutionPolicy đứng sau chính sách. Ví dụ như sau:

Set-ExecutionPolicy Unrestricted