Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
-
Frases Celebres
La salida de un programa es la entrada de otro programa
No dudar en rehacer de nuevo secciones de cdigo y reconstruir todo de nuevo
Unix es bsicamente un sistema operativo simple, pero tienes que ser un genio para
entender su sencillez (simplicidad)
Aquellos que no entienden UNIX estn condenados a reinventarlo pobremente
Conclusin:
UNIX y C el fundamento de TODO
Qu es PowerShell?
Windows PowerShell es un nuevo shell de lnea de comandos de Windows que se
ha diseado expresamente para los administradores de sistemas
Windows PowerShell tiene 2 diferencias fundamentales:
Primeros pasos
Comandos:
Los comandos ejecutan una sola funcin y son conocidos como commandlets o
cmdlets
Los cmdlets siguen el patrn: verbosustantivo
Verbos usados: get, set, write, start, stop, remove, add, etc
get (recuperar datos), set (establecer o fijar datos)
Formato:
[cmdlet]
[cmdlet] [parametro]
[cmdlet] [parametro] [parametro] [argumento]
[cmdlet] [parametro] [parametro] [argumento1], [argumento2]
Parmetro: variable que puede ser aceptado por un comando
Argumento: valor asignado aun parmetro
Cmdlets bsicos:
GetHelp
GetCommand
GetHelp [cmdlet]
Gethelp [cmdlet] detailed
GetAlias
GetChilditem
Clsicos:
CMDLET
Alias
GetChilditem
GetLocation
SetLocation
dir
pwd
cd
Administracin:
GetService
GetProcess
Stopprocess
Salida standard:
Writehost
Salida a un archivo:
Gethelp > salida.txt
Poltica de ejecucin:
GetExecutionPolicy
SetExecutionPolicy
Mas ejemplos...
GetHelp GetService examples
GetHelp GetService parameter name
Pipes
GetProcess | GetMember
GetProcess | more
GetProcess | SortObject
Mas ejemplos
Ordenar procesos por Nombre de Proceso
Formateo de Salida
FormatList
FormatTable
SelectObject
Ej.
GetCommand | Formattable Name, CommandType
GetCommand | Formatlist Name, CommandType
GetCommand | SelectObject Name, CommandType
GetProcess | FormatTable id, name, path autosize
Expresiones:
35 * 7
(200/6.9)
Variables:
Variables en Powershell tienen el prefijo $
Ej.
$ps = GetProcess
$ps
$ps[0]
$CambioDolar = 35*6.97
$CambioDolar
Variables Predefinidas:
SetLocation variable:
GetChildItem
Variables especiales:
$Error
$_
Ej.
GetService | whereobject {$_.name eq tlntsvr}
SetLocation c:\noexiste
$Error
GetService | GetMember
(GetService tlntsvr).DisplayName
(GetService tlntsvr).get_status( )
$wincmd = GetProcess | whereobject {$_.name match wincmd}
$wincmd.id
$wincmd.kill( )
$ps = GetProcess; $ps[$ps.count1]; $ps[$ps.count1].kill( )
GetService | ForEachObject {writehost $_.DisplayName, " : ", $_.get_status()}
GetProcess | WhereObject {$_.name match "wincmd"} | ForEachObject {$_.kill()}
Comparaciones
lt
<
le
<=
gt
>
ge
>=
eq
Equal to
ne
!=
like
notlike
match
Ej.
GetProcess | WhereObject {$_.name like "s*"}
GetProcess | WhereObject {$_.name match "explorer"}
Procesando Archivos
Leer/Agregar contenido a archivo de texto:
GetContent C:\boot.ini
$archivo = GetContent
$archivo[0]
C:\boot.ini
Procesos/Servicios
StopProcess [ID]
StartService name [nombre servicio]
E.g.
StartService name tlntsvr
Registro de Windows
Acceder al registro:
SetLocation Registry::
GetChildItem
Acceder a una localizacin especifica del registro:
SetLocation HKLM:\software\microsoft\windows\CurrentVersion
Listar Claves:
SetLocation HKLM:\software\microsoft\windows\CurrentVersion
GetChildItem
Listar Valor:
SetLocation HKLM:\software\microsoft\windows\CurrentVersion\run
GetItemProperty .
SetLocation HKLM:\software\microsoft\windows\CurrentVersion\
GetItemProperty Run
Agregar Valor:
SetLocation HKLM:\software\microsoft\windows\CurrentVersion\
SetItemProperty path . name "PSInfo" type "string" value "Agregado desde
PowerShell"
Renombrar Valor:
SetLocation HKLM:\software\microsoft\windows\CurrentVersion\
RenameItemProperty path . name PSInfo newname "PowerShell"
GetItemProperty .
Modificar Valor:
SetItemProperty path . name "PSInfo" type "string" value "Agregado desde
PowerShell"
SetItemProperty path . name "PSInfo" type "string" value "Nuevo Valor"
Borrar Clave:
RemoveItemProperty path HKLM:\software\microsoft\windows\CurrentVersion\Run
name PowerShell