mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-08-23 22:16:48 +00:00
sudo for Windows 10
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Sudo for Windows
|
||||
homepage: https://stackoverflow.com/a/40321310/151312
|
||||
tagline: |
|
||||
Sudo for Windows gives you a minimal `sudo` that works in cmd.exe and PowerShell.
|
||||
---
|
||||
|
||||
## Cheat Sheet
|
||||
|
||||
> Sudo for Windows isn't real `sudo`, but it's close enough for certain tasks -
|
||||
> like installing WSL (the Windows Subsystem for Linux), without opening a GUI
|
||||
> to Alt-Click "Run as Administrator".
|
||||
|
||||
### Example: Enabling WSL
|
||||
|
||||
```bash
|
||||
sudo.cmd dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
|
||||
```
|
||||
|
||||
### Raw PowerShell
|
||||
|
||||
`sudo.cmd` is simply an alias of a powershell elevation command:
|
||||
|
||||
```pwsh
|
||||
@echo off
|
||||
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c cd /d %CD% && %*'"
|
||||
@echo on
|
||||
```
|
||||
|
||||
Note: replace `/c` with `/k` if you'd like the window to stay open rather than
|
||||
closing automatically.
|
||||
|
||||
Source: <https://stackoverflow.com/a/55643173/151312>
|
||||
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env pwsh
|
||||
|
||||
echo "Installing sudo.cmd..."
|
||||
|
||||
# Couldn't figure out how to get this to work with "here strings", so forgive the ugly, but at least it works
|
||||
Set-Content -Path .local\bin\sudo.cmd -Value "@echo off`r`npowershell -Command ""Start-Process cmd -Verb RunAs -ArgumentList '/c cd /d %CD% && %*'""`r`n@echo on"
|
||||
|
||||
# Add to path
|
||||
& "$Env:USERPROFILE\.local\bin\pathman.exe" add ~/.local/bin
|
||||
|
||||
echo "Installed to '$Env:USERPROFILE\.local\bin\sudo.cmd'"
|
||||
echo ""
|
||||
@@ -0,0 +1,14 @@
|
||||
set -e
|
||||
set -u
|
||||
|
||||
{
|
||||
|
||||
if [ -z "$(command -v sudo)" ]; then
|
||||
>&2 echo "Error: on Linux and BSD you should install sudo via the native package manager"
|
||||
>&2 echo " for example: apt install -y sudo"
|
||||
exit 1
|
||||
else
|
||||
echo "'sudo' already installed"
|
||||
fi
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user