Está en la página 1de 5

Soluciones powershell

Comenzando mis primeros comandos. Una vez instalado, puede comenzar a jugar con el programa. Voy a mostrar cómo crear alias de comandos (poner mi propio nombre a los comandos). Por defecto ya hay varios aliases. Por ejemplo yo use en vez del comando get­help para tener ayuda el comando man y también se puede usar el comando help. Entonces uno puede cambiar el nombre a sus comandos y crear nuevos ¡!. Posteriormente mostrare como crear registros, apagar servicios, procesos.

Como hacer hola mundo PS C:\> echo ¨hola mundo¨

Como hacer usar variables en powershell PS C:\>$var=hola mundo PS C:\>echo $var

Como obtener la ayuda de un comando (ejemplo dir) Existen tres maneras PS C:\>get­help dir PS C:\>man dir PS C:\>help dir

Para obtener una lista de todos los comandos powershell PS C:\>get­help *

Mostrar los drives del sistema Get­PSDrive. Este comando permite mostrar todos los drives. En esta sección la novedad es que podemos navegar en el registro de Windows.

>Uso del alias Para cambiar de nombre a diferentes comandos: Powershell utiliza lo que llamamos alias. Un alias es un sobrenombre que le podemos poner al comando. Por ejemplo:

PS C:\> set­alias get­drive get­psdrive

Esto transforma al comando get­psdrive a get­drive. De ahora en adelante si corremos el comando:

PS C:\> get­drive

Drives realizará la misma función del comando get­psdrive. Parece lindo no ?. Estaba emocionado hasta que me di cuenta que al cerrar el powershell (con exit) y al abrirlo de nuevo ya no funcionaba mi nuevo comando. La forma más fácil de solucionar esto es usando el profile. En el profile se escribe el comando y listo. Sin embargo si no tenemos profile hay que crearlo y agregar nuestro set­alias get­drive get­psdrive. Para ver si existe el profile:

PS C:\> test­path $profile

Si sale false hay que crearlo con:

PS C:\> New­Item ­Path $Profile ­ItemType file –Force

Luego editamos el profile:

PS C:\> Notepad $profile

Ahora en el archivo notepad colocamos esto:

set­alias get­drive get­psdrive

Finalmente, salvamos el archivo y cerramos y abrimos el powershell

>REGISTROS

∙ Para navegar en el registro se pone:

PS C:\> cd hklm:

Para regresar al drive c y dejar de navegar en el registro:

∙ PS C:\> c:

Para limpiar la pantalla en powershell

∙ PS C:\> cls

∙ Para ver ir al registro hkey local machine

PS C:\> cd hklm:

∙ Para ir al registro software\clients\Calendar\Microsoft Outlook\protocols

∙ PS HKLM:\> cd software\clients\Calendar\Microsoft*\ Protocols

Algo que no me agrada es que no funciona el cd para volver atrás tiene que ser cd el espacio como en UNIX/LINUX) Para crear un registro:

(con

PS HKLM:\software\clients\Calendar\Microsoft Outlook\Protocols>mkdir reg_nuevo

Para volver a la raíz en powershell:

PS HKLM:\software\clients\Calendar\Microsoft Outlook\Protocols>cd / Para listar los registros dentro de registros (existen varias formas. Get­ChildItem, ls, dir,gci. Las 4 dan los mismos resultados).

PS HKLM:\>Get­ChildItem PS HKLM:\>ls PS HKLM:\>gci PS HKLM:\>dir

Para volver al disco c PS HKLM:\> c:

Para mostrar una lista de procesos:

PS C:\> Get­Process Para detener un proceso:

PS C:\> Stop­Process ­processname [process] Para listar servicios:

>Servicios

PS C:\>Get­service

Para iniciar un servicio:

PS C:\>start­service [service_name]

Para detener un servicio:

PS C:\>stop­service [service_name]

Para ejecutar y habilitar un script en powershell Primero cree un archivo que se llame prueba.ps1 con el siguiente contenido:

/*Este programa muestra el mensaje hola mundo*/ Echo “hola mundo”

Por defecto le va a salir un mensaje de error cuando trate de ejecutarlo:

PS C:\> ./prueba.ps1 Para habilitar la ejecución de scripts y que no salga un mensaje de error:

PS C:\> set­executionpolicy unrestricted Una vez habilitado, la ejecución en powershell funciona:

PS C:\> ./prueba.ps1

Para ejecutar un archivo de powershell ps1 con doble click. Este es un poquito más difícil de lo que pensé. Los archivos de powershell (Ps1) no funcionan con doble click así que hay que invocarlo desde el cmd. Esto por razones de seguridad .

Paso 1. Tener un archivo con extensión ps1. Mi archivo se va a llamar creardir.ps1. Este ejemplo crea un directorio que se llama Daniel.

Archivo:creardir.ps1 Contenido:mkdir Daniel

Paso 2. Crear un archivo con extensión cmd que llame al archivo creardir.ps1.

Archivo:createdir.cmd Contenido:powershell.exe ­command .\creardir.ps1

Lo único que queda es hacer doble click en el cmd.

PS C:\Documents and Settings\user> EVENTCREATE /T ERROR /ID 1000 /L APPLICATION /D "Test Error"

Este mensaje le permitirá generar un evento de error con ID 100 en la categoria de aplicaciones.

Para ver los eventos del visor de eventos en powershell:

PS C:\Documents and Settings\user> Get­EventLog ­logName "Application"

Espero que les haya gustado. Si tienen dudas escriban a este blog. Cualquier duda se las aclaro.

Listo para la parte II ?: