You are on page 1of 8

Filosofía UNIX/Linux

Escribir programas que hagan una sola cosa pero que lo hagan bien
Escribir programas que trabajen en conjunto
Escribir programas para manejar "text streams", porque es la interfaz universal
-

Práctico y basado en la experiencia
No se espera que este basado en métodos oficiales o estándares pero si en la “habilidad”
que la cultura Unix transmite
Bottom – Up y no Top – Down
Minimalista: “Menos es Mas”

Frases Celebres
“La salida de un programa es la entrada de otro programa”
“No dudar en rehacer de nuevo secciones de código y reconstruir todo de nuevo”
“Unix es básicamente un sistema operativo simple, pero tienes que ser un genio para
entender su sencillez (simplicidad)”
“Aquellos que no entienden UNIX están condenados a reinventarlo pobremente”
Conclusión:
“UNIX y C el fundamento de TODO”

además de tener alias reducidos (abreviación del cmdlet) Formato: [cmdlet] [cmdlet] –[parametro] [cmdlet] –[parametro] –[parametro] [argumento] [cmdlet] –[parametro] –[parametro] [argumento1]. [argumento2] Parámetro: variable que puede ser aceptado por un comando Argumento: valor asignado aun parámetro Cmdlets básicos: Get–Help Get–Command Get–Help [cmdlet] Get–help [cmdlet] –detailed . start. get–service.¿Qué es PowerShell? Windows PowerShell™ es un nuevo shell de línea de comandos de Windows que se ha diseñado expresamente para los administradores de sistemas Windows PowerShell tiene 2 diferencias fundamentales: • • No procesa texto. add. remove. netstat. sino objetos de la plataforma . route. set. get–process Los cmdlets tienen “Alias” con nombres de comandos de UNIX y CMD. stop. Ofrece comandos integrados que permiten seguir utilizando las herramientas tradicionales de Windows. etc.NET. como ipconfig. write. Primeros pasos Comandos: • • Los comandos ejecutan una sola función y son conocidos como command–lets o cmdlets Los cmdlets siguen el patrón: verbo–sustantivo Verbos usados: get. etc get (recuperar datos). set (establecer o fijar datos) • • Ejemplos de cmdlets: get–help.

Get–Help Get–Service –examples Get–Help Get–Service –parameter name Pipes Get–Process | Get–Member Get–Process | more Get–Process | Sort–Object Mas ejemplos… Ordenar procesos por Nombre de Proceso .Get–Alias Get–Childitem Clásicos: CMDLET Alias Get–Childitem Get–Location Set–Location dir pwd cd Administración: Get–Service Get–Process Stop–process Salida standard: Write–host Salida a un archivo: Get–help > salida..txt Política de ejecución: Get–ExecutionPolicy Set–ExecutionPolicy Mas ejemplos..

9) Variables: Variables en Powershell tienen el prefijo $ Ej. $ps = Get–Process $ps $ps[0] $CambioDolar = 35*6. path –autosize Expresiones: 35 * 7 (200/6. CommandType Get–Process | Format–Table id. en la cual cada propiedad aparece línea por línea Formatea la salida como tabla Selecciona un propiedad especifica de un objeto o objetos Ej.97 $CambioDolar Variables Pre–definidas: Set–Location variable: Get–ChildItem Variables especiales: . name. CommandType Get–Command | Format–list Name.Get–Process | Sort–Bbject ProcessName Ordenar procesos por Nombre de Proceso en orden ascedente Get–Process | Sort–Bbject ProcessName –descending Formateo de Salida Format–List Format–Table Select–Object Formatea la salida. CommandType Get–Command | Select–Object Name. Get–Command | Format–table Name.

" : ".name –like "s*"} Get–Process | Where–Object {$_. Get–Process | Where–Object {$_. Get–Service | where–object {$_.name –match "wincmd"} | ForEach–Object {$_.name –eq “tlntsvr”} Set–Location c:\noexiste $Error Uso de propiedades y métodos Get–Member Obtiene información de objetos y colección de objetos Get–Service | Get–Member (Get–Service tlntsvr).name –match "explorer"} .DisplayName.get_status()} Get–Process | Where–Object {$_.count–1].• • $Error $_ Contiene el “mensaje de error” en la sesión actual Contiene el objeto actual dentro de un “pipe” Ej.kill( ) $ps = Get–Process. $ps[$ps.get_status( ) $wincmd = Get–Process | where–object {$_.DisplayName (Get–Service tlntsvr).count–1]. $ps[$ps. $_.id $wincmd.kill( ) Get–Service | ForEach–Object {write–host $_.kill()} Comparaciones –lt < –le <= –gt > –ge >= –eq Equal to –ne != –like –notlike –match Ej.name –match “wincmd”} $wincmd.

ini | Measure–Object –line –word –character Agregar Contenido a Archivo de Texto: Add–Content c:\ejemplo.ini Get–Content C:\boot.name –match "^s"} Get–Process | Where–Object {$_.ini $archivo = Get–Content $archivo[0] C:\boot.name –match "m$"} Get–Process | Where–Object {$_.txt –value “Hola” Archivos & Directorios Crear Archivos & Directorios: New–Item –path .cpu –gt 40} Procesando Archivos Leer/Agregar contenido a archivo de texto: Get–Content C:\boot.Get–Process | Where–Object {$_. mode Agrupar Elementos: Get–Command –CommandType all | group–object CommandType . attributes.txt –type file New–Item –path c:\testdir –type directory Nota: mkdir tambien crea directorios Copiar/Mover/Remover: Copy–Item –path c:\test –recurse c:\nuevo Move–Item –path c:\test –recurse Remove–Item c:\test –recurse Listar Recursivamente: Get–ChildItem c:\test\ –recurse Mostrar todos los archivos (incluyendo archivos ocultos): Get–ChildItem –force | Format–Table name. –name test1.

csv Get–Process | Export–Clixml c:\borrame. Status > c:\test\algo.html Get–Service | ConvertTo–html –Property Name.xml Get–Process | ConvertTo–Html > c:\test\test.g. Set–Location HKLM:\software\microsoft\windows\CurrentVersion\ Get–ItemProperty Run .Exportar la salida a un archivo Get–Process | out–file c:\borrame.htm Procesos/Servicios Stop–Process [ID] Start–Service –name [nombre servicio] E.txt Get–Process | Export–Csv c:\borrame. Start–Service –name tlntsvr Registro de Windows Acceder al registro: Set–Location Registry:: Get–ChildItem Acceder a una localización especifica del registro: Set–Location HKLM:\software\microsoft\windows\CurrentVersion Listar Claves: Set–Location HKLM:\software\microsoft\windows\CurrentVersion Get–ChildItem Listar Valor: Set–Location HKLM:\software\microsoft\windows\CurrentVersion\run Get–ItemProperty .

–name PSInfo –newname "PowerShell" Get–ItemProperty . –name "PSInfo" –type "string" –value "Agregado desde PowerShell" Set–ItemProperty –path .Agregar Valor: Set–Location HKLM:\software\microsoft\windows\CurrentVersion\ Set–ItemProperty –path . –name "PSInfo" –type "string" –value "Agregado desde PowerShell" Renombrar Valor: Set–Location HKLM:\software\microsoft\windows\CurrentVersion\ Rename–ItemProperty –path . Modificar Valor: Set–ItemProperty –path . –name "PSInfo" –type "string" –value "Nuevo Valor" Borrar Clave: Remove–ItemProperty –path HKLM:\software\microsoft\windows\CurrentVersion\Run – name PowerShell Log del Sistema Listar logs: Get–EventLog –list Listar contenido: Get–EventLog system .