Khi bạn muốn chạy một tập lệnh PowerShell dưới quyền quản trị viên, bạn có thể làm theo các bước sau để thực hiện điều này mà không cần phải nhập mật khẩu mỗi lần:
1. Sử dụng lệnh Start-Process
với tùy chọn runAs
:
Lệnh này khởi động một phiên PowerShell mới dưới quyền quản trị viên:
Start-Process powershell -Verb runAs
Lệnh trên sẽ mở một cửa sổ PowerShell mới dưới quyền quản trị viên.
2. Kiểm tra nếu người dùng hiện tại đã có quyền quản trị:
Nếu người dùng hiện tại không có quyền quản trị, tập lệnh sẽ khởi động lại PowerShell với quyền quản trị viên. Đây là một ví dụ đầy đủ:
if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { $arguments = "& '" +$myinvocation.mycommand.definition + "'" Start-Process powershell -Verb runAs -ArgumentList $arguments Break }
3. Chạy script với quyền quản trị viên:
Nếu bạn đang viết một script PowerShell và muốn đảm bảo rằng nó luôn chạy dưới quyền quản trị viên, bạn có thể sử dụng đoạn mã sau để kiểm tra và yêu cầu quyền quản trị viên nếu cần thiết:
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit } # Mã của bạn sẽ nằm dưới đây
Tạo shortcut để chạy script với quyền quản trị:
- Tạo một file shortcut trỏ đến tập lệnh PowerShell của bạn.
- Nhấp chuột phải vào shortcut, chọn Properties.
- Ở tab Shortcut, nhấp Advanced và chọn Run as administrator.
Điều này sẽ cho phép bạn luôn chạy script với quyền quản trị viên mà không cần xác nhận lại mỗi lần.
Các bước này giúp bạn dễ dàng chạy lệnh PowerShell với quyền quản trị mà không cần xác nhận lại mỗi lần.