¿Cómo ejecuto un script de PowerShell?
- Tengo un script llamado myscript.ps1
- Tengo todos los marcos necesarios instalados
- Me puse de que la política de ejecución cosa
- He seguido las instrucciones en esta página de ayuda de MSDN
y estoy tratando de ejecutarlo así:
powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'
(con o sin--noexit
)
que no devuelve exactamente nada, excepto que se muestra el nombre del archivo.
Sin error, sin mensaje, nada. Ah, cuando agrego -noexit
, sucede lo mismo, pero permanezco dentro de PowerShell y tengo que salir manualmente.
Se supone que el archivo .ps1 ejecuta un programa y devuelve el nivel de error dependiente de la salida de ese programa. Pero estoy bastante seguro de que ni siquiera estoy llegando allí todavía.
¿Qué estoy haciendo mal?
windows
powershell
scripting
Pekka
fuente
fuente
powershell
como lo habría hechocmd
. Ahora puede ejecutar elmyscript.ps1
script como cualquier ejecutable allí en (en la ventana de.\myscript.ps1
Respuestas:
PS
a que aparezca el símbolo del sistemaNavegue al directorio donde vive el script
Ejecute el script:
¿¿Qué me estoy perdiendo??
O: puede ejecutar el script de PowerShell de
cmd.exe
esta manera:de acuerdo con esta publicación de blog aquí
O incluso podría ejecutar su script de PowerShell desde su aplicación C # :-)
Ejecute asíncronamente los scripts de PowerShell desde su aplicación C #
fuente
powershell -noexit "& "C:\yada_yada\run_import_script.ps1"
(observe las tres comillas dobles) Realmente no entiendo por qué, pero en este punto, realmente no me importa :) ¡Muchas gracias!"&
?powershell -executionpolicy bypass ".\myscript.ps1 yadayadayada"
Si está utilizando PowerShell 2.0, use el
-File
parámetro PowerShell.exe para invocar un script desde otro entorno, como cmd.exe. Por ejemplo:fuente
-ExecutionPolicy Bypass
Si desea ejecutar un script sin modificar la directiva de ejecución de secuencias de comandos predeterminado, puede utilizar la derivación de interruptor cuando el lanzamiento de Windows PowerShell .
fuente
-nologo
opción para deshacerse del banner de inicioTipo:
powershell -executionpolicy bypass -File .\Test.ps1
NOTA: Aquí
Test.ps1
está el script de PowerShell.fuente
powershell -executionpolicy bypass -File .\Test.ps1
suponiendo que su directorio de trabajo actual contiene Test.ps1Tuve el mismo problema y lo intenté y lo intenté ... Finalmente utilicé:
Y ponga esta línea en un archivo por lotes, y esto funciona.
fuente
Si solo tiene PowerShell 1.0 , esto parece funcionar bastante bien:
Canaliza el archivo de script a la línea de comandos de PowerShell.
fuente
Muy fácil. Haga clic derecho en el archivo .ps1 en Windows y en el menú de shell haga clic en Ejecutar con PowerShell .
fuente
Usando el archivo cmd (BAT):
Si necesita ejecutar como administrador :
fuente
Una manera fácil es usar PowerShell ISE , abrir script, ejecutar e invocar su script, función ...
fuente
Si su secuencia de comandos se nombra con la
.ps1
extensión y está en una ventana de PowerShell, simplemente ejecuta./myscript.ps1
(suponiendo que el archivo esté en su directorio de trabajo).De todos modos, esto es cierto para mí en Windows 10 con PowerShell versión 5.1, y no creo que haya hecho nada para que sea posible.
fuente
myscript.ps1
no funcionó, arrojó un error, pero con./
su ejecución.Indique la ruta de la secuencia de comandos, es decir, la configuración de ruta por cmd:
$> . c:\program file\prog.ps1
Ejecute la función de punto de entrada de PowerShell:
Por ejemplo,
$> add or entry_func or main
fuente
>$ . c:\program file\prog.ps1 '.' is not recognized as an internal or external command, operable program or batch file.
y>$ add or entry_func or main 'add' is not recognized as an internal or external command, operable program or batch file.
En caso de que desee ejecutar un script de PowerShell con el Programador de tareas de Windows, siga los pasos a continuación:
Crear una tarea
Establecer
Program/Script
enPowershell.exe
Establecer
Arguments
en-File "C:\xxx.ps1"
Es de otra respuesta, ¿Cómo ejecuto un script de PowerShell automáticamente usando el programador de tareas de Windows? .
fuente
Use el
-File
parámetro delante del nombre del archivo. Las citas hacen que PowerShell piense que es una cadena de comandos.fuente
Tengo una respuesta muy simple que funciona:
set-executionpolicy unrestricted
Encontré esta solución siguiendo el enlace que se proporcionó como parte del mensaje de error: Acerca de las políticas de ejecución
fuente