PDF de programación - Windows PowerShell WPS

Imágen de pdf Windows PowerShell WPS

Windows PowerShell WPSgráfica de visualizaciones

Publicado el 24 de Mayo del 2018
3.473 visualizaciones desde el 24 de Mayo del 2018
11,0 MB
100 paginas
Creado hace 1a (31/03/2018)
A. P.

PowerShell v.1

Indice

PowerShell

Arranque

Modos de operación

A. P.

Comandos

Funciones

Pipeline

Proveedores

Registro

Scripts

Variables

Tipos Datos

Números

Cadenas

Fecha/Hora

Arrays

Hash Tables

Operadores

Bucles

Variables
entorno
Invocación

Módulos

PowerShell v.1

.NET

WMI

COM

XML

Expresiones Regulares

Programar Tareas

EventLogs

Errores

Rendimiento

Acceso remoto

Internet

Reflexión

2

Windows PowerShell (WPS)

Indice

Proporciona el mejor entorno posible de shell* y script para Microsoft Windows.

 PowerShell es sobretodo un shell* interactivo, que incorpora capacidades de script.
 PowerShell es un nuevo entorno de consola para Windows basado en .NET.
 En PowerShell todo son objetos, al igual que en .NET en que se basa.
 WPS opera como .NET: llamando a métodos y accediendo a propiedades de clases .NET.
 Acceso a objetos .NET, COM (Component Object Model), y WMI (Windows Management Instrumentation).
 PowerShell acepta comandos estándar de Windows (p.ej. ipconfig o ping) y aplicaciones.
 PowerShell introduce nuevos comandos – cmdlets - más potentes y fáciles de usar.
 Potente interacción entre cmdlets con pipelines, basada en objetos.
 La salida de un cmdlet (objeto .NET), se pasa a otro cmdlet mediante pipeline (|).
 PowerShell soporta arrays y diccionarios.
 Posiblidad de alojar WPS en cualquier aplicación, particularmente en .NET.
 Misma forma de navegación en sistema de ficheros, registro, providers, variables, alias.
 No hay compilación, solo entrar comandos o scripts, y ejecutar.
 Los mismos comandos se usan en el modo interactivo, en los scripts, y en las funciones.
 PowerShell soporta XML como tipo primitivo de datos y facilita su tratamiento.
 WPS dá acceso a Procesos, Servicios, Event logs, Hard, Soft, FileSystem, Registro, ...
 PowerShell usa una sintaxis similar a C#, pero a diferencia de C#, WPS es case-insensitive.
 PowerShell corre VBScripts.
 PowerShell cuenta con la notable funcionalidad del acceso remoto a otros equipos en red.

A. P.

* Shell: soft que da acceso a las funcionalidades del sistema operativo.

PowerShell v.1

3

VBScript vs. PowerShell

Indice

 VBScript está dirigido a páginas Web,

 PowerShell está dirigido sobretodo a

no a administradores.

 VBScript se compila y por eso las

funciones pueden ir al final.
 Hay funciones y subrutinas.
 Interactúa con objetos COM.

administradores.

 WPS es interpretado y las funciones

deben definirse antes de ser llamadas.

 Sólo hay funciones.
 Interactúa con objetos .NET, WMI, y COM.

Lenguaje

IDE

Compilado

Autónomo

Visual Basic

VBA

Si

Si

VBScript

No**

Si

Si

Si

Si

No*

No***

PowerShell

Si****

No*****

Si

*) VBA requiere una aplicación host como Microsoft Office, generalmente Excel.
**) Aunque no disponen de IDE, hay editores de script de otros proveedores
***) VBScript requiere una aplicación host como WSH o Internet Explorer
****) En WPS hay un ISE = Integrated Scripting Environment, que es de uso opcional.
****) Aunque WPS es un lenguaje interpretado, algunas partes – los cmdlets - se compilan en DLL.

A. P.

PowerShell v.1

4

PowerShell y .NET Framework

Indice

.NET Framework forma el núcleo del moderno lenguaje scripting que es Windows PowerShell.

.NET es un entorno para desarrollo aplicaciones de escritorio, de red, de internet, móviles, y scripts.

PowerShell

Métodos

Propiedades

Librería de Clases
.NET

l


s
t
e
d
m
c

WPS hace uso de los
recursos de .NET a
través de los cmdlets,
ocultando los detalles
de programación.

WMI

CLR provee:
Compilación
Seguridad
Gestión memoria
Excepciones

CLR

Common Languague Runtime

Windows Management
Instrumentation

.NET Framework

A. P.

Ejecución

PowerShell v.1

COM

Component Object Model

5

Arranque de PowerShell

Indice

PowerShell requiere que esté instalado .NET Framework 2.0 ó posterior

Verificar su existencia en C:\Windows\Microsoft.NET\Framework\v.2.0.50727 (o versión superior).

PowerShell formaba ya parte de Windows 7. Con Windows 8  PowerShell v3

+ R

+ Ejecutar

El shell es
una simple
ventana
con un
símbolo >,
donde se
entran
comandos
y presentan
resultados.

Recupera última entrada, y anteriores,
al seguir pulsando flecha arriba.

Recupera siguiente, y siguientes,
al seguir pulsando flecha abajo.

Get-Host nos permite ver la versión
y características de PowerShell.

Al arrancar, WPS crea un proceso, y
todos los comandos corren dentro de él.
[En la consola clásica de Windows, ejecutables
.exe corren en procesos separados.]

Clear-host
clear
cls

Get-History
Recupera todas las entradas hechas
Invoke-History
ejecuta una de las entradas por nº

Cuando se lanza PowerShell, se abre en el directorio C:\Users\userName.
Esto asegura que se encuentra en un directorio desde el que se pueden lanzar acciones.
Esta técnica es más segura que abrirlo en el directorio raiz o del sistema.

A. P.

Entrando Start-Process powershell -Verb runAs se entra en modo Administrador.

PowerShell v.1

6

Graphical Windows PowerShell

Indice

Microsoft ofrece a partir de PS v2.0 un interface gráfico para una gestión mejorada de PowerShell

PowerShell v3 tiene 2 componentes: la consola estándar de texto y el entorno integrado ISE.

Ejecutar script

Panel de scripts arriba,
panel consola abajo.

Panel gráfico ISE

[graphical host]

Panel de consola

[console host]

ISE = Integrated Scripting Environment

PowerGui es un editor de scripts gratuito, que

puede usarse como alternativa al IDE propio de PS.

A. P.

PowerShell v.1

7

Perfiles en PowerShell

Indice

Al arrancar PS, se cargan automáticamente una serie de ajustes, agrupados en perfiles, que marcan su entorno de uso.
Un perfil en PS es simplemente un script con un nombre especial que reside en una ubicación determinada.
Estos perfiles no se crean de forma predeterminada, ni son obligatorios. Sólo existen si se crean.

$Profile corre automáticamente al arrancar la sesión, y sirve para ejecutar scripts y poner variables al Usuario actual (current user).
El valor de la variable interna $Profile, depende desde donde se llame, pero retorna la vía a Usuario actual, Host actual (PowerShell).

Desde consola PowerShell

Desde consola PowerShell ISE

1

2

ISE

3

4

ISE

C:\windows\system32\windowspowershell\v1.0\profile.ps1

Todos usuarios

Todos hosts

C:\windows\system32\windowspowershell\v1.0\Microsoft.PowerShell_profile.ps1

Todos usuarios

PowerShell

C:\windows\system32\windowspowershell\v1.0\Microsoft.PowerShellISE_profile.ps1

Todos usuarios

PowerShell ISE

C:\Usuarios\Alfonso\Documentos\WindowsPowerShell\profile.ps1

Usurario actual

Todos hosts

C:\Usuarios\Alfonso\Documentos\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Usurario actual

PowerShell

C:\Usuarios\Alfonso\Documentos\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1

Usurario actual

PowerShell ISE

Se usa el perfil general (todos hosts) cuando se quieren aplicar los ajustes a PowerShell al arrancar desde aplicaciones de terceros.
Se usa el perfil PowerShell cuando se desea aplicar los ajustes al arrancar sólo la consola PowerShell. Es recomendable usar con preferencia este perfil.

Hay 6 tipos de perfiles, reflejados en la tabla. Estos ficheros se cargan en el orden 1,2,3,4, siendo posible redefinir la misma función en diferentes ficheros.
Por defecto $Profile hace referencia a Usuario actual, PowerShell (current user, current host).
$home y $pshome son variables internas. $home guarda el directorio del usuario actual y $pshome guarda el directorio de instalación de PowerShell.



PowerShell v.1

A. P.

8

Crear/editar un perfil

Indice

PowerShell soporta 4 tipos de ficheros de perfiles y los ejecuta en un orden predeterminado al arrancar.
La variable interna $Profile contiene la ruta y nombre del fichero que contiene el perfil, que por defecto es de Usuario actual, Host actual.

$Profile

Segun desde donde se ejecute, dará la ruta y nombre de un fichero u otro

Desde PowerShell

Desde PowerShell ISE

True

Test-Path $Profile

Comprueba si existe el fichero $Profile

False

New-Item -path $profile -type file -force

Crea nuevo fichero $Profile vacio, si no existía.
Parámetro –force fuerza la creación del fichero.

notepad $profile

Abre la aplicación NotePad y abre el fichero que contiene $profile

$Profile tiene 4 propiedades:
-AllUsersAllHosts
-AllUsersCurrentHost
-CurrentUserAllHosts
-CurrentUserCurrentHost.
Por defecto hace referencia a
Current User, Current Host.
Es posible acceder a las otras
propiedades mediante
$PROFILE.CurrentUserAllHosts,
$PROFILE.AllUsersAllHosts,
$PROFILE.AllUsersCurrentHost.

El cmdlet Get-Host devuelve
un objeto que detalla el
entorno PS. Uno de sus
miembros es la propiedad UI
que a su vez cuenta con la
propiedad RawUI que dá las
caracteristicas de la consola.
La variable interna $host dá
acceso al objeto Get-Host, y a
sus propiedades UI y RawUI.

Guardar

Apagar PS

Iniciar PS

Al arrancar PS, aplican las características definidas en $Profile.

En NotePad se entra o edita el contenido del
fichero dado por $profile,
puede ser uno de los indicados arriba,
según se esté en PowerShell o PowerShellISE.

$Host.UI.RawUI
Contiene una serie
de propiedades de
la consola.

BackgroundColor
BufferSize
CursorPosition
CursorSize
ForegroundColor
KeyAvailable
MaxPhysicalWindowSize
MaxWindowSize
WindowPosition
WindowSize
WindowTitle

9

Hay que distinguir entre el propio motor PowerShell y
la aplicación –host – que lo aloja.
Estas hosts pueden ser la consola o PowerShellISE, que
son responsables de cargar y ejecutar los perfiles cada
vez que se arranca.

A. P.

PowerShell v.1
  • Links de descarga
http://lwp-l.com/pdf11289

Comentarios de: Windows PowerShell WPS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad