¿Cómo ejecutaría el siguiente comando en Windows?
$ sudo django-admin.py startproject NEW
?
¿Cómo ejecutaría el siguiente comando en Windows?
$ sudo django-admin.py startproject NEW
?
Respuestas:
No hay ningún sudocomando en Windows. El equivalente más cercano es "ejecutar como administrador".
Puede hacer esto usando el runascomando con un nivel de confianza de administrador, o haciendo clic con el botón derecho en el programa en la interfaz de usuario y seleccionando "ejecutar como administrador".
gsudo( stackoverflow.com/a/58753166/97471 ). Es un sudo para Windows con *nix sudoexperiencia de usuario: permite ejecutar el comando dentro de la consola actual y la caché de credenciales (solo una ventana emergente de UAC).
Abra el bloc de notas y pegue este código:
@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c cd /d %CD% && %*'"
@echo on
Luego, guarde el archivo como sudo.cmd. Copie este archivo y péguelo en C:\Windows\System32o agregue la ruta donde sudo.cmdestá a su variable de entorno PATH.
Cuando abre el símbolo del sistema, ahora puede ejecutar algo como sudo start ..
Si desea que la ventana del símbolo del sistema de administración permanezca abierta cuando ejecuta el comando, cambie el código en el bloc de notas a esto:
@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k cd /d %CD% && %*'"
@echo on
Explicación:
powershell -Command ejecuta un comando de PowerShell.
Start-Process es un comando de PowerShell que inicia un proceso, en este caso, el símbolo del sistema.
-Verb RunAs ejecuta el comando como administrador.
-Argument-List ejecuta el comando con argumentos.
Nuestros argumentos son '/c cd /d %CD% && %*'. %*significa todos los argumentos, así que si lo hiciera sudo foo bar, se ejecutaría en el símbolo del sistema foo barporque los parámetros son foo y bar, y %*devuelve foo bar. cd /d %CD%es un comando para ir al directorio actual. Esto asegurará que cuando abra la ventana elevada, el directorio será el mismo que la ventana normal. los &&medios que si el primer comando se ejecuta correctamente, ejecutar el segundo comando.
El /ces un parámetro cmd para cerrar la ventana una vez finalizado el comando y /kes un parámetro cmd para mantener la ventana abierta.
Crédito a Adam Plocher por permanecer en el código de directorio actual.
C:\Windows\System32.
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k cd /d %CD% && %*'"
echolíneas uno y tres anteponiendo @la línea de PowerShell?
Todas las respuestas explican cómo elevar su mando en un nuevo host de consola.
Lo que me divirtió fue que ninguna de esas herramientas se comporta como *nix sudo, permitiendo ejecutar el comando dentro de la consola actual .
Entonces, escribí: gsudo
Código fuente https://github.com/gerardog/gsudo
Vía primicia
scoop install gsudo
O vía Chocolatey
choco install gsudo
Instalación manual:

He creado wsudouna sudoherramienta CLI de código abierto similar a la de Windows para ejecutar programas o comandos con derechos elevados, en el contexto del directorio actual . Está disponible como paquete Chocolatey .
Lo uso mucho para cosas como configurar agentes de compilación, cosas de administración como sfc /scannow, dism /online /cleanup-image /restorehealtho simplemente para instalar / actualizar mis paquetes locales de Chocolatey. Úselo bajo su propio riesgo.
choco install wsudo
Chocolatey ya debe estar instalado.
wsudoes una sudoherramienta similar a Linux para Windows para invocar un programa con derechos elevados (como Administrador) desde un símbolo del sistema de shell que no es de administrador y mantener su directorio actual.
Esta implementación no depende del Windows Script Host ( CScript) heredado . En su lugar, utiliza un script auxiliar de PowerShell 5.1 que invoca"Start-Process -Wait -Verb runAs ..." cmdlet. Es muy probable que su sistema ya tenga PowerShell 5.x instalado; de lo contrario, se le ofrecerá instalarlo como una dependencia.
wsudoejecuta un programa o un comando en línea con derechos elevados en el directorio actual. Ejemplos:
wsudo .\myAdminScript.bat
wsudox "del C:\Windows\Temp\*.* && pause"
wasudo cup all -y
wasudox start notepad C:\Windows\System32\drivers\etc\hosts
Para obtener más detalles, visite la reproducción de GitHub .
wasudohizo más fácil. Yo mismo vivo principalmente en la terminal de consola integrada VSCode, así que simplemente escribo wasudoallí :) La siguiente mejora sería heredar las variables de entorno .
runasEl comando requiere que los usuarios ingresen la contraseña. Si no desea escribir la contraseña y solo desea hacer clic en el cuadro de diálogo UAC, utilícelo Start-Process -Verb runasen PowerShell en lugar del runascomando.
Normalmente no lo haría, ya que no lo ejecutaría bajo * nix independientemente. Realice el desarrollo en un directorio de usuarios y luego impleméntelo en los directorios del sistema.
en Windows, puede utilizar el comando runas. Para los usuarios de Linux, existen algunas alternativas para sudo en Windows, puede consultar esto
http://helpdeskgeek.com/free-tools-review/5-windows-alternatives-linux-sudo-command/
Puede usar el comando runas - http://technet.microsoft.com/en-us/library/bb490994.aspx o sudowin - http://sourceforge.net/projects/sudowin/
Hay algo así. ¿Creé Sudo para Windows en 2007? 08? Aquí está el documento de seguridad que escribí al respecto: https://www.sans.org/reading-room/whitepapers/bestprac/sudo-windows-sudowin-1726 . Estoy bastante seguro de que http://sudowin.sf.net también funciona.
El siguiente script vbs permite lanzar un comando dado con argumentos con elevación e imita el comportamiento del comando unix sudo original para un conjunto limitado de casos usados (no almacena en caché las credenciales ni permite ejecutar realmente comandos con diferentes credenciales). Me lo puse C:\Windows\System32.
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
Ejemplo de uso en un símbolo del sistema sudo net start service
Creo que probé los pasos a continuación después de investigar un poco y tuve éxito
1.Instale scoop usando powershell 3 (iex (new-object net.webclient) .downloadstring (' https://get.scoop.sh ')) 2. haga scoop install --global sudo 3. asegúrese de que las rutas (C: \ Users \\ scoop \ shims & C: \ ProgramData \ scoop \ shims) agregado en la variable de ruta ambiental.
No hay un comando sudo en el caso de Windows y tampoco es necesario poner ningún $. Para instalar Angular CLI a través del símbolo del sistema node.js en Windows, simplemente escribí npm install -g @ angular / cli y luego presioné Enter. Funcionó bien.
En Windows Powershell puede usar el comando Start-Process con la opción -Verb RunAsde iniciar un proceso elevado. Aquí está mi ejemplo de función sudo:
function sudo {
Start-Process @args -verb runas
}
Ejemplo: abra el archivo de hosts como administrador en el bloc de notas
sudo notepad C:\Windows\System32\drivers\etc\hosts
Me alegro de ayudarte.
Para hacer un comando sudo, siga los pasos: -
Espero que esto te ayudará
Para ejecutar un comando como administrador en un Powershell no elevado, puede usarlo Start-Processdirectamente, con las opciones adecuadas, en particular -Verb runas.
Es mucho más complicado que sudo, particularmente porque no puede simplemente reutilizar el comando anterior con una opción adicional. Necesita especificar los argumentos de su comando por separado.
Aquí hay un ejemplo, usando el comando route para cambiar la puerta de enlace:
Esto falla porque no estamos en un PS elevado:
> route change 0.0.0.0 mask 0.0.0.0 192.168.1.3
The requested operation requires elevation.
Esto funciona después de aceptar la UAC:
> Start-Process route -ArgumentList "change 0.0.0.0 mask 0.0.0.0 192.168.1.3" -Verb runas
O para un comando que requiere cmd.exe:
> Start-Process cmd -ArgumentList "/c other_command arguments ..." -Verb runas