docs: Add PowerShell execution policy guide
This commit is contained in:
104
ENABLE_POWERSHELL.md
Normal file
104
ENABLE_POWERSHELL.md
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
# Enable PowerShell Script Execution
|
||||||
|
|
||||||
|
You need to enable PowerShell script execution to use the Continuous Delivery system.
|
||||||
|
|
||||||
|
## Quick Fix (Recommended)
|
||||||
|
|
||||||
|
Run this **one-time command** in PowerShell **as Administrator**:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||||||
|
```
|
||||||
|
|
||||||
|
This allows you to run local scripts while still protecting against remote scripts.
|
||||||
|
|
||||||
|
### Step-by-Step:
|
||||||
|
|
||||||
|
1. **Right-click** the **Start Menu** or press `Win+X`
|
||||||
|
2. Select **"Windows PowerShell (Admin)"** or **"Terminal (Admin)"**
|
||||||
|
3. When UAC prompts, click **Yes**
|
||||||
|
4. Run: `Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser`
|
||||||
|
5. Type `Y` and press Enter
|
||||||
|
6. Close the admin window
|
||||||
|
7. Go back to your normal PowerShell terminal
|
||||||
|
8. Run: `.\start-cd.ps1 watch`
|
||||||
|
|
||||||
|
## Alternative: No Admin Required (Bypass Method)
|
||||||
|
|
||||||
|
If you **can't get admin access**, use the bypass method for each run:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# Instead of:
|
||||||
|
.\start-cd.ps1 watch
|
||||||
|
|
||||||
|
# Use this:
|
||||||
|
powershell -ExecutionPolicy Bypass -File .\start-cd.ps1 watch
|
||||||
|
```
|
||||||
|
|
||||||
|
### Create a Shortcut (No Admin)
|
||||||
|
|
||||||
|
Create `run-cd-watch.bat` with this content:
|
||||||
|
|
||||||
|
```batch
|
||||||
|
@echo off
|
||||||
|
powershell -ExecutionPolicy Bypass -File "%~dp0start-cd.ps1" watch
|
||||||
|
pause
|
||||||
|
```
|
||||||
|
|
||||||
|
Then just double-click `run-cd-watch.bat` to start CD!
|
||||||
|
|
||||||
|
## Verify It's Working
|
||||||
|
|
||||||
|
After enabling, run:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
Get-ExecutionPolicy
|
||||||
|
```
|
||||||
|
|
||||||
|
Should show: `RemoteSigned` or `Bypass`
|
||||||
|
|
||||||
|
Then test the CD system:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
.\start-cd.ps1 watch
|
||||||
|
```
|
||||||
|
|
||||||
|
## Security Notes
|
||||||
|
|
||||||
|
**What does RemoteSigned mean?**
|
||||||
|
- ✅ You can run scripts you create locally
|
||||||
|
- ✅ You can run scripts from your organization
|
||||||
|
- ⚠️ Downloaded scripts must be signed by a trusted publisher
|
||||||
|
- ✅ This is the Microsoft-recommended policy for developers
|
||||||
|
|
||||||
|
**Is this safe?**
|
||||||
|
Yes! `RemoteSigned` is the recommended policy for developers. It protects you from running malicious scripts downloaded from the internet while allowing you to run your own scripts.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
**Still getting "UnauthorizedAccess"?**
|
||||||
|
|
||||||
|
Try this sequence:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# Check current policy
|
||||||
|
Get-ExecutionPolicy -List
|
||||||
|
|
||||||
|
# Set for current user only (no admin needed)
|
||||||
|
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||||||
|
|
||||||
|
# If that fails, use bypass method
|
||||||
|
powershell -ExecutionPolicy Bypass -File .\start-cd.ps1 watch
|
||||||
|
```
|
||||||
|
|
||||||
|
**Group Policy is blocking?**
|
||||||
|
|
||||||
|
Some corporate environments block script execution via Group Policy. If you see "cannot be changed" errors, you must use the bypass method:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
powershell -ExecutionPolicy Bypass -File .\start-cd.ps1 watch
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Once enabled**, you're ready to use the CD system! See [CD_QUICK_START.md](CD_QUICK_START.md) for usage.
|
||||||
Reference in New Issue
Block a user