Hoe zou ik de volgende opdracht in Windows uitvoeren:
$ sudo django-admin.py startproject NEW
?
1, Autoriteit 100%
Er is geen sudo
opdracht in Windows. Het dichtstbijzijnde equivalent wordt “Run als beheerder.”
U kunt dit doen met behulp van de runas
opdracht met een beheerdersniveau van een beheerder, of door met de rechtermuisknop op het programma in de UI te klikken en “RUN als beheerder te kiezen.”
2, Autoriteit 42%
Alle antwoorden leggen uit hoe u uw opdracht in een nieuw console-host kunt verheffen.
Wat mij geamuseerd was, was dat geen van die gereedschappen zich gedraagt als *nix sudo
, zodat het mogelijk is om de opdracht binnen de -stroom console uit te voeren.
Dus schreef ik: gsudo
Broncode https://github.com/gerardog/gsudo
Installatie
Via schep
- installeren schep als u het niet al hebt. Dan:
scoop install gsudo
of via chocolicey
choco install gsudo
Handmatige installatie:
- Download de nieuwste release, unzip en voeg toe aan pad, van https://github.com/ Gerardog / Gsudo / Releases /
Demo
3, Autoriteit 17%
Open Kladblok en plak deze code:
@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c cd /d %CD% && %*'"
@echo on
Sla het bestand vervolgens op als sudo.cmd
. Kopieer dit bestand en plak het in C:\Windows\System32
of voeg het pad waar sudo.cmd
is toe aan je PATH-omgevingsvariabele.
Als je de opdrachtprompt opent, kun je nu zoiets als sudo start .
uitvoeren.
Als u wilt dat het admin-opdrachtpromptvenster open blijft wanneer u de opdracht uitvoert, wijzigt u de code in Kladblok in dit:
@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k cd /d %CD% && %*'"
@echo on
Uitleg:
powershell -Command
voert een powershell-opdracht uit.
Start-Process
is een powershell-opdracht die een proces start, in dit geval de opdrachtprompt.
-Verb RunAs
voert de opdracht uit als admin.
-Argument-List
voert de opdracht uit met argumenten.
Onze argumenten zijn '/c cd /d %CD% && %*'
. %*
betekent alle argumenten, dus als je sudo foo bar
deed, zou het worden uitgevoerd in de opdrachtprompt foo bar
omdat de parameters foo en bar zijn , en %*
retourneert foo bar
. cd /d %CD%
is een commando om naar de huidige directory te gaan. Dit zorgt ervoor dat wanneer u het verhoogde venster opent, de map hetzelfde is als het normale venster. de &&
betekent dat als de eerste opdracht succesvol is, de tweede opdracht moet worden uitgevoerd.
De /c
is een cmd-parameter om het venster te sluiten nadat de opdracht is voltooid, en de /k
is een cmd-parameter om het venster open te houden.
p>
Credit to Adam Plocher voor het verblijf in de huidige directorycode.
4, Autoriteit 4%
runas
Opdracht vereist dat de gebruikers het wachtwoord typen.
Als u geen wachtwoord wilt typen en wilt u gewoon klikken op het UAC-dialoogvenster, gebruikt u Start-Process -Verb runas
in PowerShell in plaats van runas
-opdracht.
Zie: http://satob.hatenablog.com/entry/2017/ 06/17/013217
5, Autoriteit 3%
Normaal gesproken zou u dat niet, omdat u het niet onder * NIX zou uitvoeren, ongeacht. Ontwikkeling in een gebruikersdirectory en implementeer achteraf op systeemmappen.
6, Autoriteit 3%
In Windows kunt u de opdracht Runas gebruiken.
Voor Linux-gebruikers zijn er enkele alternatieven voor sudo in Windows, u kunt dit controleren
http://helpdeskgeek.com/free -Tools-review / 5-Windows-alternatieven-Linux-sudo-commando /
7, Autoriteit 3%
daar is. Ik heb in 2007 Sudo gemaakt voor Windows? 08? Hier is het beveiligingspapier dat ik erover heb geschreven – https: / /www.sans.org/reading-room/whitepapers/bestprac/sudo-windows-sudowin-1726 . Vrij zeker http://sudowin.sf.net werkt nog steeds.
8, Autoriteit 3%
U kunt Runas-opdracht gebruiken – http://technet.microsoft.com/ EN-VS / Bibliotheek / BB490994.aspx
of sudowin – http://sourceforge.net/projects/sudowin/
Antwoord 9, autoriteit 2%
Het volgende vbs-script maakt het mogelijk om een bepaald commando met argumenten met verhoging te starten en bootst het gedrag na van het originele unix sudo-commando voor een beperkte set van gebruikte gevallen (het slaat geen inloggegevens op in de cache en staat ook niet toe om opdrachten echt uit te voeren met verschillende inloggegevens ). Ik heb het op C:\Windows\System32
gezet.
Set objArgs = WScript.Arguments
exe = objArgs(0)
args = ""
IF objArgs.Count >= 2 Then
args = args & objArgs(1)
End If
For it = 2 to objArgs.Count - 1
args = args & " " & objArgs(it)
Next
Set objShell = CreateObject( "WScript.Shell")
windir=objShell.ExpandEnvironmentStrings("%WINDIR%")
Set objShellApp = CreateObject("Shell.Application")
objShellApp.ShellExecute exe, args, "", "runas", 1
set objShellApp = nothing
Voorbeeld van gebruik op een opdrachtprompt sudo net start service
Antwoord 10
Ik denk dat ik onderstaande stappen heb geprobeerd na wat onderzoek & geslaagd
1.Installeer scoop met powershell 3 (dwz (new-object net.webclient).downloadstring(‘https:// get.scoop.sh‘))
2. doe scoop install –global sudo
3. zorg ervoor dat paden (C:\Users\\scoop\shims & C:\ProgramData\scoop\shims) zijn toegevoegd in de omgevingspadvariabele.
Antwoord 11
Er is geen sudo-commando in het geval van Windows en het is ook niet nodig om $. Voor het installeren van Angular CLI via de node.js-opdrachtprompt in Windows, heb ik zojuist npm install -g @angular/cligeschreven en vervolgens op Enter gedrukt. Het werkte prima.
Antwoord 12
Om gewoon een opdracht uit te voeren als admin in een niet-verhoogde PowerShell, kunt u Start-Process
rechtstreeks gebruiken, met de juiste opties, in het bijzonder -Verb runas
.
Het is een stuk meer ingewikkeld dan sudo
, vooral omdat u de vorige opdracht niet alleen opnieuw kunt gebruiken met een extra optie. U moet de argumenten op uw opdracht afzonderlijk specificeren.
Hier is een voorbeeld, met behulp van de opdracht routes om de gateway te wijzigen:
Dit mislukt omdat we niet in een verhoogde PS zijn:
> route change 0.0.0.0 mask 0.0.0.0 192.168.1.3
The requested operation requires elevation.
Dit werkt na het accepteren van de UAC:
> Start-Process route -ArgumentList "change 0.0.0.0 mask 0.0.0.0 192.168.1.3" -Verb runas
of voor een opdracht die vereist is cmd.exe
:
> Start-Process cmd -ArgumentList "/c other_command arguments ..." -Verb runas
13
Open de console als beheerder. Klik met de rechtermuisknop op de opdrachtprompt of bash – & GT; meer en selecteer “Voer als beheerder”
14
In Windows PowerShell kunt u de opdracht Startproces gebruiken met optie -Verb RunAs
om te starten en verhoogd proces.
Hier is mijn sudo-functie voorbeeld:
function sudo {
Start-Process @args -verb runas
}
EX: Open Hosts-bestand als admin in Kladblok
sudo notepad C:\Windows\System32\drivers\etc\hosts
15
Gebruik van de sudo
opdracht voor venstergebruikers geeft u de volgende suggesties:
Installeer eerst de scoop
Pakketbeheer Tool en voer de volgende opdrachten uit:
Gebruik vervolgens scoop
om de opdracht sudo
te installeren:
Ten slotte kun je de opdracht uitvoeren met sudo
: