Posted on Leave a comment

Power Shell 2.0

Microsoft actualizo automáticamente la versión 2.0 de PowerShell.

En primer lugar no podemos dejar de mencionar en Linux como se vive con la terminal de comandos (consola/Shell) heredada del SO Unix una potente línea de comandos que te permite dese navegar por internet con programas como w3m o lynx hasta descargar directorios de un sitio con wget , en lo personal como viejo-paladin , son los dos comandos que mas me llamaron la atención. Y el comando apt-get que te da acceso a todas las aplicaciones libres que hay pero que tantas personas las ocuparan. Ya para los maestros Jedi en la consola es una simple utilidad.

Pero se ha avanzado mucho con esta versión de Power Shell una interfaz de consola(CLI) que te permite ejecutar script con varias extensiones e interactuar con librerías .NET y Base de datos

Una explicación como decía mi amigo como niño de primer grado.
Y un mapa conceptual.

Bueno Microsoft siempre se ha caracterizado por “copiar” desde interfaz graficas de Xerox para las Ventanas hasta las copias de Resultados de Google para mostrarlas en Bing lo hace muy Bien.

Lista de comandos

Primero las características
– Auto complemento de comandos (tab-completion) existen “todos los comandos de consolas DOS “ , “WHS” y los comandos “get”(cmdlet)
– Combinacion con pipeline |
– Alias de comandos
-Historial de comandos Utilizados F7 o Get-History
Se puede utilizar el ISE para trabajar

Un ejemplo creamos un nuevo objeto

PS J:>$objShell = New-Object –com Shell.Application

Con Get-Member(un comando para listar las propiedades y metodos del objeto)

PS J:>$objShell | Get-Member

TypeName: System.__ComObject#{866738b9-6cf2-4de8-8767-f794ebe74f4e}

Name MemberType Definition
---- ---------- ----------
AddToRecent Method void AddToRecent (Variant, string)
BrowseForFolder Method Folder BrowseForFolder (int, string, int, Variant)
CanStartStopService Method Variant CanStartStopService (string)
CascadeWindows Method void CascadeWindows ()
ControlPanelItem Method void ControlPanelItem (string)
EjectPC Method void EjectPC ()
Explore Method void Explore (Variant)
ExplorerPolicy Method Variant ExplorerPolicy (string)
FileRun Method void FileRun ()
FindComputer Method void FindComputer ()
FindFiles Method void FindFiles ()
FindPrinter Method void FindPrinter (string, string, string)
GetSetting Method bool GetSetting (int)
GetSystemInformation Method Variant GetSystemInformation (string)
Help Method void Help ()
IsRestricted Method int IsRestricted (string, string)
IsServiceRunning Method Variant IsServiceRunning (string)
MinimizeAll Method void MinimizeAll ()
NameSpace Method Folder NameSpace (Variant)
Open Method void Open (Variant)
RefreshMenu Method void RefreshMenu ()
ServiceStart Method Variant ServiceStart (string, Variant)
ServiceStop Method Variant ServiceStop (string, Variant)
SetTime Method void SetTime ()
ShellExecute Method void ShellExecute (string, Variant, Variant, Variant, Variant)
ShowBrowserBar Method Variant ShowBrowserBar (string, Variant)
ShutdownWindows Method void ShutdownWindows ()
Suspend Method void Suspend ()
TileHorizontally Method void TileHorizontally ()
TileVertically Method void TileVertically ()
ToggleDesktop Method void ToggleDesktop ()
TrayProperties Method void TrayProperties ()
UndoMinimizeALL Method void UndoMinimizeALL ()
Windows Method IDispatch Windows ()
WindowsSecurity Method void WindowsSecurity ()
WindowSwitcher Method void WindowSwitcher ()
Application Property IDispatch Application () {get}
Parent Property IDispatch Parent () {get}

Obtuvimos todas esas propiedades para crear nuestro script.

Tomemos en cuenta si desa obtener ayuda de un cmdlet esta el comando Get-Help

PS J:> Get-Help Get-Member -full


Para crear los alias simplemente escribimos
 # PowerShell crear alias
Clear-Host
new-alias xcopy copy-Item
# O escribiendo lo siguiente
Set-Alias xcopy copy-Item # works just as well

Mi Objetivo es crear un script que me muestre todos los directorios y subdirectorios que contengan *.mp3 *.avi *.iso culaquier extencion de archivo en un disco de un TB

Empiezo

Leave a Reply

Your email address will not be published. Required fields are marked *