Hoe “SUDO” -opdracht uit te voeren in Windows [DUPLICEER]

Hoe zou ik de volgende opdracht in Windows uitvoeren:

$ sudo django-admin.py startproject NEW

?


1, Autoriteit 100%

Er is geen sudoopdracht in Windows. Het dichtstbijzijnde equivalent wordt “Run als beheerder.”

U kunt dit doen met behulp van de runasopdracht 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:

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\System32of voeg het pad waar sudo.cmdis 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 -Commandvoert een powershell-opdracht uit.

Start-Processis een powershell-opdracht die een proces start, in dit geval de opdrachtprompt.

-Verb RunAsvoert de opdracht uit als admin.

-Argument-Listvoert de opdracht uit met argumenten.

Onze argumenten zijn '/c cd /d %CD% && %*'. %*betekent alle argumenten, dus als je sudo foo bardeed, zou het worden uitgevoerd in de opdrachtprompt foo baromdat 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 /cis een cmd-parameter om het venster te sluiten nadat de opdracht is voltooid, en de /kis een cmd-parameter om het venster open te houden.

p>

Credit to Adam Plocher voor het verblijf in de huidige directorycode.


4, Autoriteit 4%

runasOpdracht 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 runasin 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\System32gezet.

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-Processrechtstreeks 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 RunAsom 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 sudoopdracht voor venstergebruikers geeft u de volgende suggesties:

Installeer eerst de scoopPakketbeheer Tool en voer de volgende opdrachten uit:

Gebruik vervolgens scoopom de opdracht sudote installeren:

Ten slotte kun je de opdracht uitvoeren met sudo:

Other episodes