elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 [237] 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 ... 254
2361  Programación / Scripting / Power Shell en: 5 Agosto 2007, 11:28 am
Antiguamente salió el Batch, me encanta y lo usaba mucho hace tiempo, ahora me dió por Windows Host Script, más potente y podía codificarlo para que andie vea el código fuente, como era interpretado se puede descodificar y ver exactamente etu código.

Más adelante en el 2006 apareció otro nuevo sustituto llamado Power Shell 1.0 (Requiere .NET 2.0 o superior instalado para funcionar). Más potente aún y compilado, nada de interpretado. En realidad el PowerShell "PS"
 es el sustituto del CMD.
Os dejo el manual, que aún así lo puedes encontrar, pero para leer por el aire y ver como es no es nada malo.


DESCARGA en PDF aquí:
http://web.omnidrive.com/APIServer/public/abBQfIxKNWBSv0FZPZiACLK1/powershell_pdf_es.zip


********


Manual de introducción de Windows PowerShell™
Microsoft Corporation
Publicación: septiembre de 2006
Resumen
Windows PowerShell™ es un nuevo shell de línea de comandos de Windows que se ha diseñado expresamente para los administradores de sistemas. El shell incluye un símbolo del sistema interactivo y un entorno de scripting que se pueden utilizar de forma independiente o conjunta.
La finalidad de este documento es ofrecer a los nuevos usuarios una introducción a Windows PowerShell e informarles sobre sus características básicas. Para obtener información más detallada, consulte la Guía básica de Windows PowerShell.
 


 
Contenido
Aviso de copyright del manual de introducción de Windows PowerShell™   5
Objetivos de diseño de Windows PowerShell   6
Finalidad principal   6
Introducción a Windows PowerShell   7
Cmdlets de Windows PowerShell   7
Un nuevo lenguaje de scripting   8
Comandos y utilidades de Windows   8
Procesamiento de objetos   8
Canalizaciones de objetos   10
Interacción y creación de scripts   10
Entorno interactivo   10
Compatibilidad con la creación de scripts   11
Iniciar Windows PowerShell   12
Utilizar Windows PowerShell   12
Get-Help: obtener ayuda   13
Utilizar cmdlets   15
Obtener información sobre objetos:  Get-Member   16
Utilizar los parámetros de los cmdlets   19
Parámetros comunes   19
Formato de la salida de un comando   20
Utilizar alias   22
Crear un alias   23
Eliminar un alias   24
Utilizar funciones para crear nombres alternativos   24
Utilizar programas de Windows   24
Administrar errores   25
Desplazarse por Windows PowerShell   25
Desplazarse por el sistema de archivos   26
Desplazarse por el Registro   26
Desplazarse por el almacén de certificados   28
Desplazarse por otras unidades   29
Acerca de las unidades de Windows PowerShell   30
Unidades y proveedores   30
Personalizar Windows PowerShell   31
Examinar la directiva de ejecución   31
Perfiles de Windows PowerShell   32
Descripción de los perfiles   32
Crear un perfil   32
 
Aviso de copyright del manual de introducción de Windows PowerShell™
La finalidad de este documento es meramente informativa y Microsoft declina toda garantía, implícita o explícita, relativa al mismo. La información que contiene este documento, incluidas las referencias a direcciones URL y otros sitios Web de Internet, está sujeta a cambios sin previo aviso. Cualquier riesgo derivado del uso de este documento o de las consecuencias de su utilización es responsabilidad del usuario. A menos que se indique lo contrario, los nombres de las empresas, organizaciones, productos, dominios, así como las direcciones de correo electrónico, los logotipos, las personas y los acontecimientos que se muestran aquí son ficticios. No existe la intención de establecer ni debe inferirse ninguna asociación con ninguna empresa, organización, producto, nombre de dominio, dirección de correo electrónico, logotipo, persona, lugar o acontecimiento reales. Es responsabilidad del usuario cumplir con todas las leyes de copyright aplicables. Sin limitación de los derechos de copyright, no se permite reproducir, almacenar, introducir en un sistema de recuperación ni transmitir de ninguna forma ni con ningún tipo de medio (electrónico, mecánico, de fotocopiado, grabación, etc.) ninguna parte de este documento, independientemente de la finalidad, sin la autorización explícita por escrito de Microsoft Corporation.
Microsoft puede ser titular de patentes, solicitudes de patentes, marcas, derechos de autor, y otros derechos de propiedad intelectual sobre los contenidos de este documento. Salvo en lo que respecta a lo establecido expresamente en cualquier acuerdo de licencia escrito de Microsoft, la entrega de este documento no le concede ninguna licencia sobre estas patentes, marcas comerciales, derechos de copyright u otros derechos de propiedad intelectual.
© 2006 Microsoft Corporation. Reservados todos los derechos.
Microsoft, MS-DOS, Windows, Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, .NET Framework 2.0, Componentes de tiempo de ejecución de .NET Framework 2.0 y Win32 son marcas registradas o marcas comerciales de Microsoft Corporation registradas en Estados Unidos u otros países.
Otros nombres de productos y compañías mencionados aquí pueden ser marcas comerciales de sus respectivos propietarios.
Objetivos de diseño de Windows 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. El shell incluye un símbolo del sistema interactivo y un entorno de scripting que se pueden utilizar de forma independiente o conjunta.
A diferencia de la mayoría de los shells, que aceptan y devuelven texto, Windows PowerShell se ha creado sobre Common Language Runtime de .NET (CLR) y .NET Framework, y acepta y devuelve objetos .NET. Este cambio esencial del entorno proporciona herramientas y métodos completamente nuevos para la administración y configuración de Windows.
En Windows PowerShell se presenta el concepto de "cmdlet" (se pronuncia como "command-let"), que consiste en una sencilla herramienta de línea de comandos integrada en el shell que permite realizar una función. Los cmdlets se pueden utilizar por separado, pero se obtiene el máximo provecho al usarlas conjuntamente para realizar tareas complejas. Windows PowerShell ofrece más de cien cmdlets principales para realizar tareas básicas; además, el usuario puede crear sus propios cmdlets y compartirlos con otros usuarios.
Al igual que muchos shells, Windows PowerShell proporciona acceso al sistema de archivos del equipo. Asimismo, los proveedores de Windows PowerShell permiten obtener acceso a otros almacenes de datos, como el Registro y el almacén de certificados de firmas digitales, con la misma facilidad con la que obtiene acceso al sistema de archivos.
Este manual de introducción constituye una presentación de Windows PowerShell: el lenguaje, los cmdlets, los proveedores y la utilización de objetos.
Finalidad principal
La finalidad fundamental de este documento es ayudar a los usuarios a empezar a usar Windows PowerShell. En este manual se describen las características necesarias para comenzar a utilizar el shell. Para obtener información más detallada del shell y sus características, y para ver ejemplos de uso del shell, consulte la Guía básica de Windows PowerShell.
Introducción a Windows PowerShell
El funcionamiento de la mayoría de los shells, incluido Cmd.exe y los shells SH, KSH, CSH y BASH, consiste en ejecutar un comando o una utilidad en un nuevo proceso, y presentar los resultados al usuario en forma de texto. Con el paso de los años, muchas herramientas de procesamiento de texto, como sed, AWK y PERL, han evolucionado para ofrecer esta interacción.
 Estos shells tienen también comandos integrados que se ejecutan en los procesos del shell, como el comando typeset en KSH o el comando dir en Cmd.exe. Como en la mayor parte de los shells hay pocos comandos integrados, se han creado numerosas utilidades.
Windows PowerShell es muy diferente. 
•   No procesa texto, sino objetos de la plataforma .NET. 
•   Ofrece una gran cantidad de comandos integrados con una interfaz coherente.
•   Se utiliza el mismo analizador de comandos para todos los comandos del shell, en lugar de un analizador distinto para cada herramienta. De este modo, resulta mucho más sencillo aprender a utilizar cada comando.
Sin embargo, su ventaja principal es que no es necesario renunciar a todas esas herramientas a las que estamos acostumbrados. Windows PowerShell permite seguir utilizando las herramientas tradicionales de Windows, como Net, SC y Reg.exe.
Cmdlets de Windows PowerShell
Un "cmdlet" (se pronuncia como "command-let") es un comando de una sola función que manipula objetos en Windows PowerShell. Los cmdlets se pueden reconocer por el formato de sus nombres: un verbo y un nombre separados por un guión; por ejemplo, Get-Help, Get-Process y Start-Service.
En los shells tradicionales, los comandos son programas ejecutables que pueden ser muy simples, como attrib.exe, o muy complejos, como netsh.exe.
En Windows PowerShell, la mayoría de los cmdlets son muy simples y se han diseñado para utilizarse en combinación con otros cmdlets. Por ejemplo, los cmdlets "get" sólo recuperan datos; los cmdlets "set" sólo establecen o modifican los datos, los cmdlets "format" sólo aplican formato a los datos y los cmdlets "out" sólo dirigen la salida a un destino determinado.
Cada cmdlet dispone de un archivo de ayuda al que se puede obtener acceso escribiendo:
get-help <nombreCmdlet> -detailed
La vista detallada del archivo de ayuda del cmdlet contiene una descripción del cmdlet, la sintaxis del comando, descripciones de los parámetros y un ejemplo de la utilización del cmdlet.
Un nuevo lenguaje de scripting
Windows PowerShell utiliza su propio lenguaje, en lugar de reutilizar uno de los lenguajes existentes, por los motivos siguientes:
•   Windows PowerShell necesita un lenguaje que permita administrar objetos .NET.
•   El lenguaje debe proporcionar un entorno coherente para el uso de cmdlets.
•   El lenguaje debe ser capaz de realizar tareas complejas sin complicar las tareas sencillas.
•   El lenguaje debe ser coherente con los lenguajes de nivel superior que se utilizan en la programación .NET, como C#.
Comandos y utilidades de Windows
Los programas de línea de comandos de Windows se pueden ejecutar en Windows PowerShell. En el shell se pueden abrir también programas de Windows que tienen una interfaz de usuario, como Bloc de notas y Calculadora. Asimismo, es posible capturar el texto que generan los programas y utilizarlo en el shell, del mismo modo que se utilizaría en Cmd.exe.
Procesamiento de objetos
Aunque a primera vista pase inadvertido, cuando se trabaja con Windows PowerShell, en realidad se está trabajando con objetos .NET. A medida que vaya ganando experiencia, cada vez le resultará más evidente la eficacia del procesamiento de objetos, utilizará los objetos y entenderá su lógica.
Técnicamente, un objeto .NET es una instancia de una clase .NET que se compone de datos y de las operaciones asociadas a esos datos. No obstante, un objeto puede concebirse como una entidad de datos con propiedades (que son como características) y métodos (acciones que se pueden llevar a cabo sobre el objeto).
Por ejemplo, cuando obtiene un servicio en Windows PowerShell, en realidad obtiene un objeto que representa al servicio. Cuando consulta información sobre un servicio, está viendo las propiedades del objeto de servicio y cuando inicia un servicio (es decir, cuando cambia el valor de la propiedad Status del servicio a "started") está utilizando un método del objeto de servicio.
Todos los objetos del mismo tipo tienen las mismas propiedades y métodos, pero cada instancia del objeto puede tener establecidos valores distintos para sus propiedades. Por ejemplo, todos los objetos de servicio tienen las propiedades Name y Status. Sin embargo, cada servicio puede tener un nombre y un estado diferentes.
Cuando esté preparado, le será fácil conocer a fondo los objetos. Si desea saber qué tipo de objeto obtiene un cmdlet, utilice el operador de canalización (|) para enviar los resultados de un comando "get" al comando Get-Member. Por ejemplo, el comando siguiente envía los objetos recuperados por un comando Get-Service a Get-Member.
get-service | get-member

Get-Member muestra información sobre el objeto de servicio, incluidos el nombre del tipo del objeto y una lista de sus propiedades y métodos.
   TypeName: System.ServiceProcess.ServiceController

Name                      MemberType    Definition
----                      ----------    ----------
Name                      AliasProperty Name = ServiceName
add_Disposed              Method        System.Void add_Disposed(EventHandler value)
Close                     Method        System.Void Close()
Continue                  Method        System.Void Continue()
...

Para obtener información sobre una clase de objetos, copie y pegue el nombre del tipo (por ejemplo, System.ServiceProcess.ServiceController) en MSDN. Cuando encuentre la clase, podrá leer los subtemas de MSDN para conocer las propiedades y los métodos de los objetos basados en dicha clase, como los de Windows PowerShell.
Si desea buscar los valores de todas las propiedades de un determinado objeto, utilice el operador de canalización (|) para enviar los resultados de un comando "get" a un comando Format-List o Format-Table. Utilice el parámetro Property de los cmdlets de formato con el valor "todos" (*). Por ejemplo, para buscar todas las propiedades del servicio Schedule en el sistema, escriba:
get-service schedule | format-list -property *

A continuación se muestra un ejemplo de los resultados:
Name                : Schedule
CanPauseAndContinue : True
CanShutdown         : True
CanStop             : True
DisplayName         : Task Scheduler
DependentServices   : {}
MachineName         : .
ServiceName         : Schedule
ServicesDependedOn  : {RpcSs}
ServiceHandle       : SafeServiceHandle
Status              : Running
ServiceType         : Win32ShareProcess
Site                :
Container           :

No necesita tener ningún conocimiento previo sobre los objetos al empezar a utilizar Windows PowerShell; sólo necesita tener en mente el concepto de "objeto". Muy pronto sabrá cómo utilizar los objetos y sacar el máximo provecho de ellos.
Canalizaciones de objetos
Una de las principales ventajas de utilizar objetos es que resulta mucho más sencillo canalizar los comandos, es decir, pasar la salida de un comando a otro como entrada. Por lo general, este tipo de comunicación hace necesaria la manipulación de cadenas para convertir la salida de un formato a otro y eliminar títulos y encabezados de columna. 
Windows PowerShell proporciona un nuevo modelo interactivo basado en objetos, no en texto. El cmdlet que recibe un objeto puede actuar directamente sobre sus propiedades o métodos sin tener que llevar a cabo conversión o manipulación alguna. Los usuarios pueden hacer referencia a las propiedades y métodos del objeto por su nombre, en lugar de calcular la posición de los datos en la salida.
En el ejemplo siguiente, el resultado de un comando IpConfig se pasa a un comando Findstr. El operador de canalización (|) envía el resultado del comando de la izquierda al comando de la derecha. En Microsoft® Windows® PowerShell no es necesario manipular cadenas ni calcular el desplazamiento de los datos.
PS> ipconfig | findstr "Address"
        IP Address. . . . . . . . . . . . : 172.28.21.5
        IP Address. . . . . . . . . . . . : 172.30.160.225

Interacción y creación de scripts
Entorno interactivo
Al igual que otros shells, Windows PowerShell ofrece un entorno interactivo completo. Cuando escribe un comando en el símbolo del sistema, este comando se procesa y el resultado se muestra en la ventana del shell. El resultado de un comando se puede enviar también a un archivo o a la impresora, o se puede enviar a otro comando mediante el operador de canalización (|).
Compatibilidad con la creación de scripts
Si ejecuta ciertos comandos o scripts repetidas veces, o si desarrolla una serie de comandos para llevar a cabo una tarea compleja, le interesará guardar estos comandos en un archivo y ejecutar este archivo de comandos en lugar de escribir los comandos en el símbolo del sistema. Un archivo de comandos se denomina script.
Además de su interfaz interactiva, Windows PowerShell ofrece plena compatibilidad con el uso de scripts. En Windows PowerShell, los archivos de script tienen la extensión .ps1. Para ejecutar un script, escriba su nombre en el símbolo del sistema. La extensión de nombre de archivo es opcional.
Por ejemplo:
c:\test\testscript.ps1

O bien
c:\test\testscript

Debe especificar la ruta completa del archivo de script aunque éste se encuentre en el directorio actual. Para especificar el directorio actual, escriba el nombre del directorio o utilice un punto (.) para representar al directorio actual. Por ejemplo:
.\testscript.ps1

Aunque los scripts resultan de gran utilidad, e incluso esenciales, en algunas empresas podrían utilizarse para difundir código malintencionado. Por esta razón, la directiva de seguridad de Windows PowerShell, que es una directiva de ejecución, permite determinar si se pueden ejecutar los scripts y si deben incluir una firma digital. Para eliminar riesgos evidentes, ninguna de las directivas de ejecución de Windows PowerShell permite ejecutar un script haciendo doble clic en su icono. Para obtener más información, escriba:
get-help about_signing

Windows PowerShell dispone también de un lenguaje muy completo que permite crear desde scripts muy simples hasta scripts muy complejos. Permite utilizar bucles, condiciones, control de flujo y asignación de variables.
Iniciar Windows PowerShell
Para iniciar Windows PowerShell desde el menú Inicio, haga clic en Inicio, Todos los programas, Windows PowerShell 1.0 y, a continuación, elija Windows PowerShell.

Para iniciar Windows PowerShell desde el cuadro Ejecutar, haga clic en Inicio, después en Ejecutar y escriba:

powershell

Para iniciar Windows PowerShell desde una ventana del símbolo del sistema (cmd.exe), escriba:
powershell

Para ver las opciones de inicio de Windows PowerShell en una ventana del símbolo del sistema, escriba:
powershell -?

Cuando Windows PowerShell está abierto, puede utilizar el cmdlet Get-Help para obtener ayuda. En el símbolo del sistema de Windows PowerShell, escriba:
get-help


Utilizar Windows PowerShell
En esta sección se ofrece una descripción de los principios básicos que deben tenerse en cuenta al utilizar Windows PowerShell. En primer lugar, se explicará el cmdlet Get-Help, que muestra información sobre los cmdlets y los temas conceptuales de Windows PowerShell. A continuación se describen algunos cmdlets básicos, se explica cómo se utilizan los parámetros de los cmdlets y se indica qué formato debe tener la salida de los cmdlets para obtener los datos necesarios en una presentación útil. En los temas finales se explica cómo se utilizan los alias para facilitar el trabajo en Windows PowerShell, cómo se ejecutan los programas tradicionales de Windows en Windows PowerShell y cómo se administran los errores.
Get-Help: obtener ayuda
El cmdlet Get-Help es una herramienta de gran utilidad para conocer Windows PowerShell. Mediante las descripciones de los cmdlets, los conceptos y los temas relativos al lenguaje, podrá comenzar a comprender cómo se utiliza Windows PowerShell.
El primer tema de interés podría ser el sistema de Ayuda. Para mostrar información sobre el sistema de Ayuda en Windows PowerShell, escriba:
get-help

Es posible que después desee conocer algunos de los cmdlets básicos, como Get-Help, Get-Command, Get-Process, Get-Service y Get-Eventlog.
Para ver la ayuda de un cmdlet con el formato más sencillo, escriba "get-help" y a continuación el nombre del cmdlet. Por ejemplo, para obtener ayuda sobre el cmdlet Get-Command, escriba:
get-help get-command

Si la ayuda del cmdlet no tiene el formato correcto (es decir, comienza con etiquetas XMLNS), es posible que la directiva de ejecución de Windows PowerShell impida que el sistema cargue el archivo de configuración que da formato a la ayuda de los cmdlets. Para obtener información sobre las directivas de ejecución, escriba:
get-help about_signing   

Para obtener ayuda detallada sobre un cmdlet que incluya descripciones de los parámetros y ejemplos, utilice el parámetro Detailed de Get-Help. Por ejemplo, para obtener información de ayuda detallada del cmdlet Get-Command, escriba:
get-help get-command -detailed

Para ver toda la ayuda disponible de un cmdlet, incluida la información técnica sobre el cmdlet y sus parámetros, utilice el parámetro Full. Por ejemplo, para obtener toda la ayuda del cmdlet Get-Command, escriba:
get-help get-command -full

También puede consultar determinadas partes del archivo de ayuda. Para ver exclusivamente los ejemplos, utilice el parámetro Examples. Por ejemplo, para mostrar los ejemplos del cmdlet Get-Command, escriba:
get-help get-command -examples

Para ver exclusivamente descripciones detalladas de los parámetros, utilice el parámetro Parameter de Get-Help. Puede especificar el nombre de un parámetro o utilizar el carácter comodín (*) para especificar todos los parámetros. Por ejemplo, para ver una descripción del parámetro TotalCount de Get-Command, escriba:
get-help get-command -parameter totalcount

Para ver todos los parámetros del cmdlet Get-Command, escriba:
get-help get-command -parameter *

También puede utilizar una de las funciones de Windows PowerShell que llaman a Get-Help. La función Help muestra la ayuda en una pantalla completa cada vez. La función Man muestra la ayuda de forma similar a las páginas Man de Unix. Si desea utilizar las funciones Help y Man para mostrar la ayuda del cmdlet Get-Command, escriba:
man get-command

O bien
help get-command

Cuando se solicita un tema de ayuda determinado, Get-Help muestra el contenido del tema. Sin embargo, si se utilizan caracteres comodín para solicitar varios temas, Get-Help muestra una lista de temas. Por ejemplo, para ver una lista de temas de ayuda de los cmdlets "Get", escriba:
get-help get-*
La ayuda sobre los conceptos en Windows PowerShell comienza con "about_". Para ver la ayuda de un concepto de Windows PowerShell, escriba "get-help" seguido del nombre del concepto. Por ejemplo, para obtener ayuda sobre los caracteres comodín, escriba:
get-help about_wildcard

Para mostrar una lista de todos los temas de ayuda conceptuales de Windows PowerShell, escriba:
get-help about_*

Si lee los temas de ayuda y prueba los ejemplos, comprenderá cómo funciona Windows PowerShell y cómo puede utilizarlo en su trabajo.


Utilizar cmdlets
Un cmdlet (se pronuncia como "command-let") es una sencilla herramienta de línea de comandos integrada en el shell que permite realizar una función. Los cmdlets se utilizan del mismo modo que los comandos y las herramientas tradicionales. Para empezar, escriba el nombre del cmdlet en el símbolo del sistema de Windows PowerShell. Los comandos de Windows PowerShell no distinguen entre mayúsculas y minúsculas, así que puede escribir el cmdlet como quiera.
Por ejemplo, puede probar el cmdlet Get-Date:
C:\PS> get-date
jueves, 10 de noviembre de 2005 4:43:50 p.m.

Para ver una lista de los cmdlets de la sesión, utilice el cmdlet Get-Command sin ningún parámetro.
PS> get-command

CommandType     Name                            Definition
-----------     ----                            ----------
Cmdlet          Add-Content                     Add-Content [-Path] <String[...
Cmdlet          Add-History                     Add-History [[-InputObject] ...
Cmdlet          Add-Member                      Add-Member [-MemberType] <PS...
...


De forma predeterminada, Get-Command muestra tres columnas: CommandType, Name y Definition. En la lista de cmdlets mostrada, la columna Definition indica la sintaxis del cmdlet. Los puntos suspensivos (…) que aparecen en la sintaxis indican que los datos se muestran truncados.
El cmdlet Get-Command también obtiene otros comandos y elementos de comandos distintos de los cmdlets, incluidos los alias (sobrenombres de los comandos), funciones y archivos ejecutables que están disponibles en Windows PowerShell.
El comando siguiente muestra los archivos ejecutables que están disponibles en Windows PowerShell utilizando el parámetro Name en Get-Command.
PS> get-command *.exe

CommandType Name                   Definition
----------- ----                   ----------
Application 000StTHK.exe           C:\WINDOWS\system32\000StTHK.exe
Application 00THotkey.exe          C:\WINDOWS\system32\00THotkey.exe
Application accwiz.exe             C:\WINDOWS\system32\accwiz.exe
...

En la columna Definition se muestran las rutas completas de los archivos ejecutables mostrados.
Pruebe a continuación otros cmdlets, como Get-Process, Get-Service, Get-EventLog y Get-Alias.
Cuando esté familiarizado con los cmdlets "Get-" más sencillos, pruebe otros cmdlets más complejos, como Get-WmiObject. Este cmdlet resulta muy útil porque permite consultar y modificar los componentes de equipos remotos. Por ejemplo, el comando siguiente obtiene información sobre el BIOS del equipo remoto Servidor01:
get-wmiobject win32_bios -computername servidor01

Si necesita obtener ayuda sobre cualquier cmdlet, escriba:
get-help <nombreCmdlet> -detailed
Por ejemplo:
get-help get-alias -detailed.
Obtener información sobre objetos:
Get-Member
Uno de los cmdlets más útiles es Get-Member, que muestra información sobre el objeto .NET devuelto por un comando. En la información se especifican el tipo, las propiedades y los métodos del objeto.
Si desea utilizar Get-Member, envíe los resultados de un comando a Get-Member mediante el operador de canalización (|). Por ejemplo:
get-service | get-member
Este comando pone de manifiesto que, en realidad, Get-Service devuelve un conjunto de objetos System.ServiceProcess.ServiceController, uno por cada servicio del equipo.
   TypeName: System.ServiceProcess.ServiceController

Name                      MemberType    Definition
----                      ----------    ----------
Name                      AliasProperty Name = ServiceName
add_Disposed              Method        System.Void add_Disposed(EventHandler value)
Close                     Method        System.Void Close()
Continue                  Method        System.Void Continue()
CreateObjRef              Method        System.Runtime.Remoting.ObjRef CreateObjRef(Type requestedType)
Dispose                   Method        System.Void Dispose()
Equals                    Method        System.Boolean Equals(Object obj)
ExecuteCommand            Method        System.Void ExecuteCommand(Int32 command)
get_CanPauseAndContinue   Method        System.Boolean get_CanPauseAndContinue()
get_CanShutdown           Method        System.Boolean get_CanShutdown()
get_CanStop               Method        System.Boolean get_CanStop()
get_Container             Method        System.ComponentModel.IContainer get_Container()
get_DependentServices     Method        System.ServiceProcess.ServiceController[] get_DependentServices()
get_DisplayName           Method        System.String get_DisplayName()
get_MachineName           Method        System.String get_MachineName()
get_ServiceHandle         Method        System.Runtime.InteropServices.SafeHandle get_ServiceHandle()
get_ServiceName           Method        System.String get_ServiceName()
get_ServicesDependedOn    Method        System.ServiceProcess.ServiceController[] get_ServicesDependedOn()
get_ServiceType           Method        System.ServiceProcess.ServiceType get_ServiceType()
get_Site                  Method        System.ComponentModel.ISite get_Site()
get_Status                Method        System.ServiceProcess.ServiceControllerStatus get_Status()
GetHashCode               Method        System.Int32 GetHashCode()
GetLifetimeService        Method        System.Object GetLifetimeService()
GetType                   Method        System.Type GetType()
InitializeLifetimeService Method        System.Object InitializeLifetimeService()
Pause                     Method        System.Void Pause()
Refresh                   Method        System.Void Refresh()
remove_Disposed           Method        System.Void remove_Disposed(EventHandler value)
set_DisplayName           Method        System.Void set_DisplayName(String value)
set_MachineName           Method        System.Void set_MachineName(String value)
set_ServiceName           Method        System.Void set_ServiceName(String value)
set_Site                  Method        System.Void set_Site(ISite value)
Start                     Method        System.Void Start(), System.Void Start(String[] args)
Stop                      Method        System.Void Stop()
ToString                  Method        System.String ToString()
WaitForStatus             Method        System.Void WaitForStatus(ServiceControllerStatus desiredStatus), System.Voi...
CanPauseAndContinue       Property      System.Boolean CanPauseAndContinue {get;}
CanShutdown               Property      System.Boolean CanShutdown {get;}
CanStop                   Property      System.Boolean CanStop {get;}
Container                 Property      System.ComponentModel.IContainer Container {get;}
DependentServices         Property      System.ServiceProcess.ServiceController[] DependentServices {get;}
DisplayName               Property      System.String DisplayName {get;set;}
MachineName               Property      System.String MachineName {get;set;}
ServiceHandle             Property      System.Runtime.InteropServices.SafeHandle ServiceHandle {get;}
ServiceName               Property      System.String ServiceName {get;set;}
ServicesDependedOn        Property      System.ServiceProcess.ServiceController[] ServicesDependedOn {get;}
ServiceType               Property      System.ServiceProcess.ServiceType ServiceType {get;}
Site                      Property      System.ComponentModel.ISite Site {get;set;}
Status                    Property      System.ServiceProcess.ServiceControllerStatus Status {get;}

Esta información parece demasiado técnica, pero en realidad resulta muy práctica.
•   El nombre de tipo (como "System.ServiceProcess.ServiceController") indica qué tipo de objeto .NET devuelve el cmdlet. Para obtener información sobre los objetos de esta clase .NET, pegue el nombre de tipo en el cuadro de texto Buscar de MSDN. El tema de MSDN relacionado contiene información sobre las propiedades y los métodos de los objetos de esta clase, incluidos los objetos que devuelve Get-Service.
•   Los tipos Property representan las propiedades de los objetos. El valor de cada propiedad da información sobre el objeto de servicio. Por ejemplo, los objetos ServiceController tienen la propiedad CanPauseAndContinue. En la descripción de MSDN se especifica que esta propiedad indica si el servicio puede interrumpirse y reanudarse.
Para mostrar el valor de una propiedad de un determinado servicio, escriba:
(get-service <nombre_servicio>).<nombre_propiedad>

Por ejemplo:
(get-service alerter).canpauseandcontinue

Para ver una lista con el nombre y el valor de la propiedad CanPauseAndContinue del servicio Alerter, escriba:
get-service alerter | format-list -property name, CanPauseAndContinue

Para ver una lista con los valores de todas las propiedades del servicio Alerter, escriba:
get-service alerter | format-list -property *

Para ver una tabla con el nombre y el valor de la propiedad CanPauseAndContinue de todos los servicios, escriba:
get-service | format-table -property name, CanPauseAndContinue

•   Los tipos Method representan los métodos del objeto, es decir, las acciones que se pueden llevar a cabo sobre el objeto. Por ejemplo, los objetos ServiceController tienen un método Stop que permite detener el servicio.
Para llamar a un método de un objeto de servicio, utilice el formato siguiente (no olvide los paréntesis):
(get-service <nombre_servicio>).<nombre_método>()
Por ejemplo:
(get-service schedule).stop()


Para obtener información acerca del comando Get-Member, escriba:
get-help get-member -detailed.
Utilizar los parámetros de los cmdlets
Los parámetros de los cmdlets se identifican por el guión (-) que precede al nombre del parámetro. En Windows PowerShell no se utilizan barras diagonales (/ y \) para especificar los parámetros.
Al especificar un nombre de parámetro puede escribir el nombre completo, aunque sólo necesita escribir los caracteres suficientes para que se distinga de los nombres de otros parámetros del cmdlet.
Por ejemplo, el cmdlet Get-Help tiene un parámetro denominado "Detailed", aunque basta con escribir "-det" para distinguirlo del parámetro Debug.
Algunos nombres de parámetro son opcionales. Puede utilizarlos escribiendo su valor y omitiendo su nombre. Sin embargo, si se omite el nombre del parámetro, el valor debe aparecer en la posición especificada en el diagrama de sintaxis.
Por ejemplo, el cmdlet Get-Help tiene un parámetro Name que especifica el nombre de un cmdlet o un concepto. Puede escribir el nombre de este parámetro u omitirlo. Para obtener ayuda sobre el comando Get-Alias, puede escribir:
get-help -name get-alias

O bien
get-help get-alias

Para ver qué nombres de parámetros son opcionales, consulte la sintaxis en el archivo de Ayuda. Los nombres de parámetro opcionales se escriben entre corchetes:
Get-Help [[-Name] <cadena>]...

Parámetros comunes
Todos los cmdlets admiten una serie de parámetros que se denominan parámetros comunes. Esta característica proporciona una interfaz uniforme a Windows PowerShell.
Si un cmdlet admite un parámetro común, el uso de este parámetro no causará un error. No obstante, es posible que el parámetro no tenga ningún efecto en algunos cmdlets. Para obtener una descripción de los parámetros comunes, escriba:
get-help about_commonparameters
Formato de la salida de un comando
En los shells tradicionales, cada herramienta o comando determina el formato de su salida. Algunas herramientas permiten personalizar la salida y contienen parámetros especiales para controlar el formato de los resultados.
En Windows PowerShell, los únicos cmdlets que aplican un formato a la salida son los cmdlets de formato:
•   Format-List
•   Format-Custom
•   Format-Table
•   Format-Wide
Ningún otro cmdlet aplica formato a la salida. Por tanto, no es necesario aprender las rutinas de formato y los parámetros de numerosas herramientas; basta con conocer los cmdlets Format y sus parámetros.
Cuando se ejecuta un comando, Windows PowerShell llama al formateador predeterminado, que depende del tipo de los datos mostrados. El formateador determina las propiedades de la salida que se van a mostrar y si van a aparecer en una lista o una tabla.
Por ejemplo, para el cmdlet Get-Service, la presentación predeterminada es una tabla de tres columnas como la siguiente:
C:\PS> get-service
Status   Name               DisplayName
------   ----               -----------
Running  AdtAgent           Event Forwarder
Stopped  Alerter            Alerter
Running  ALG                Application Layer Gateway Service

...
Si desea modificar el formato de salida de un cmdlet, utilice el operador de canalización (|) para enviar el resultado del comando a un cmdlet Format.
Por ejemplo, el comando siguiente envía la salida de un comando Get-Service al cmdlet Format-List. Como resultado, los datos de servicio se presentan en forma de una lista por cada servicio.
C:\PS> get-service | format-list
Name                : AdtAgent
DisplayName         : Event Forwarder
Status              : Running
DependentServices   : {}
ServicesDependedOn  : {eventlog, dnscache}
CanPauseAndContinue : False
CanShutdown         : True
CanStop             : True
ServiceType         : Win32OwnProcess

Name                : Alerter
DisplayName         : Alerter
Status              : Stopped
DependentServices   : {}
ServicesDependedOn  : {LanmanWorkstation}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : False
ServiceType         : Win32ShareProcess

Name                : ALG
DisplayName         : Application Layer Gateway Service
Status              : Running
DependentServices   : {}

En este formato no sólo se muestran los datos en una lista en lugar de en una tabla; también se incluye más información sobre cada servicio. En lugar de tres columnas de datos para cada servicio, hay nueve filas de datos. Format-List no recupera información adicional sobre el servicio. Estos datos están en los objetos recuperados por Get-Service, pero Format-Table (el formateador predeterminado) los omite porque no puede mostrar más de tres columnas en la pantalla.
Además de determinar si los datos van a aparecer en una lista o una tabla, también puede establecer las propiedades del objeto que se van a mostrar. Por ejemplo, en la presentación predeterminada de Get-Service únicamente aparecen las propiedades Status, Name y DisplayName del objeto de servicio.
Si desea ver todas las propiedades de un objeto, utilice el operador de canalización (|) para enviar la salida de un comando al cmdlet Get-Member. Por ejemplo, para ver todas las propiedades de un objeto de servicio, escriba:
get-service | get-member -membertype *property

   TypeName: System.ServiceProcess.ServiceController

Name                MemberType    Definition
----                ----------    ----------
Name                AliasProperty Name = ServiceName
CanPauseAndContinue Property      System.Boolean CanPauseAndContinue {get;}
CanShutdown         Property      System.Boolean CanShutdown {get;}
CanStop             Property      System.Boolean CanStop {get;}
Container           Property      System.ComponentModel.IContainer Container {get;}
DependentServices   Property      System.ServiceProcess.ServiceController[] DependentServices {get;}
DisplayName         Property      System.String DisplayName {get;set;}
MachineName         Property      System.String MachineName {get;set;}
ServiceHandle       Property      System.Runtime.InteropServices.SafeHandle ServiceHandle {get;}
ServiceName         Property      System.String ServiceName {get;set;}
ServicesDependedOn  Property      System.ServiceProcess.ServiceController[] ServicesDependedOn {get;}
ServiceType         Property      System.ServiceProcess.ServiceType ServiceType {get;}
Site                Property      System.ComponentModel.ISite Site {get;set;}
Status              Property      System.ServiceProcess.ServiceControllerStatus Status {get;}

Dado que todas estas propiedades se encuentran en el objeto que Get-Service recupera para cada servicio, pueden mostrarse algunas de ellas o todas. Utilice el parámetro Property de los cmdlets Format para seleccionar las propiedades que se van a mostrar y el orden en el que van a aparecer. Por ejemplo, en el comando siguiente se utiliza el cmdlet Format-Table para mostrar únicamente las propiedades Name, ServiceType y CanShutDown del servicio.
get-service | format-table name, Servicetype, Canshutdown

Esto no es más que una pequeña parte de lo que se puede hacer con las presentaciones de Windows PowerShell. Si desea obtener información más detallada, utilice los comandos siguientes para consultar la ayuda de los cmdlets Format:
get-help format-list
get-help format-table
get-help format-wide
get-help format-custom

Utilizar alias
Los nombres de los cmdlets pueden resultar incómodos de escribir. Para minimizar la necesidad de escribir estos nombres y facilitar el uso de Windows PowerShell a los usuarios acostumbrados a otros shells, Windows PowerShell incorpora el concepto de "alias", es decir, el nombre alternativo de un comando. Puede crear un alias para el nombre de un cmdlet, una función o un archivo ejecutable, y escribir este alias en lugar del nombre del comando.
Windows PowerShell dispone de numerosos alias integrados, pero el usuario puede crear también sus propios alias. Los alias que cree sólo serán válidos durante la sesión actual. Para crear alias persistentes, deberá agregarlos a su perfil de Windows PowerShell.
Para buscar todos los alias de la sesión, escriba:
get-alias

Para buscar los alias de un cmdlet, escriba:
get-alias | where-object {$_.definition -eq "<nombreCmdlet>"}

Por ejemplo:
get-alias | where-object {$_.definition -eq "set-location"}

En Windows PowerShell, los alias se basan en el proveedor de alias, un ensamblado .NET que permite consultar los alias en una unidad muy similar a las unidades del sistema de archivos de Windows. La unidad de alias se denomina "Alias:".
Para cambiar la ubicación a la unidad Alias, escriba:
set-location alias:
Para consultar los alias, es decir, los elementos secundarios de la unidad Alias, escriba
get-childitem
Para consultar los elementos secundarios de la unidad Alias desde otra unidad, escriba el nombre de la unidad en el comando. Por ejemplo:
get-childitem alias:


Crear un alias
En Windows PowerShell los alias de los cmdlets y los comandos se crean mediante el cmdlet Set-Alias. Por ejemplo, para crear el alias "gh" del cmdlet Get-Help, escriba:
set-alias gh get-help

También se pueden crear alias para los comandos, como los comandos que inician un programa. Por ejemplo, para crear el alias "np" para el Bloc de notas (notepad.exe), escriba:
set-alias np c:\windows\notepad.exe

(La ruta de acceso al ejecutable del Bloc de notas puede ser diferente en su sistema.)
Eliminar un alias
Para eliminar un alias de la unidad Alias:, utilice el cmdlet Remove-Item. Por ejemplo, para quitar el alias "ls", escriba:
remove-item alias:ls

Utilizar funciones para crear nombres alternativos
Se pueden crear alias para cmdlets, funciones o archivos ejecutables, pero no para comandos con parámetros. Sin embargo, puede crear una función que se comporte como un alias.
Por ejemplo, si desea utilizar el Bloc de notas (notepad.exe) para abrir el archivo Boot.ini en un equipo con Windows XP, escriba:
notepad c:\boot.ini

No se puede crear un alias para "notepad c:\boot.ini", aunque sí una función. El comando siguiente crea la función bootini.
function bootini {notepad c:\boot.ini}

Esta función actúa como un alias. Si escribe bootini en el símbolo del sistema de Windows PowerShell, Boot.ini se abre en el Bloc de notas.
Utilizar programas de Windows
En Windows PowerShell puede ejecutar programas de línea de comandos e iniciar programas gráficos de Windows. Si el programa genera una salida de texto, puede capturarla y utilizarla en el nuevo shell del mismo modo que lo haría en cualquier otro shell.
Para ejecutar un programa (por ejemplo, Bloc de notas) en Windows PowerShell, el archivo ejecutable del programa debe estar en un directorio incluido en la variable de entorno Path, ya que el valor de la variable de entorno Path determina el lugar en el que Windows PowerShell buscará aplicaciones, herramientas y scripts. (No es necesario que los cmdlets se encuentren en un directorio de Path.)
Para ver las rutas de acceso de la variable de entorno Path, escriba:
PS> $env:path

Para agregar directorios a la variable de entorno Path, escriba:
PS> $env:path += ";newdirectory"

Por ejemplo, para agregar el directorio del archivo WordPad.exe a la variable Path, escriba:
PS> $env:path += ";C:\Archivos de programa\Windows NT\Accesorios"

Al igual que el comando set, esta instrucción de asignación sólo cambia el valor de Path durante la sesión actual de Windows PowerShell. Para que este cambio sea permanente, agregue la instrucción de asignación a su perfil de Windows PowerShell. Para obtener información detallada, consulte el tema relativo a los perfiles de Windows PowerShell.
Administrar errores
Ocasionalmente pueden producirse errores al utilizar el shell, por ejemplo, al intentar establecer una ubicación en un directorio inexistente o al intentar quitar un archivo sin los privilegios apropiados.
En Windows PowerShell existen dos tipos de errores:
•   Errores que provocan fin: errores que interrumpen la ejecución del comando.
•   Errores que no provocan fin: errores que no interrumpen la ejecución del comando.
Por ejemplo, si está quitando todos los archivos .TMP de un directorio, posiblemente no desee que se interrumpa el proceso si no se puede quitar uno de los archivos. Normalmente, deseará quitar todos los archivos y ocuparse a continuación de los archivos que no se han podido quitar.
El error que se produce cuando no se puede quitar un archivo se denomina "error que no provoca fin". Cuando se produce un error que no provoca fin, Windows PowerShell continúa el procesamiento y muestra después el error con los resultados.
Hay errores más graves que interrumpen el procesamiento de los comandos. Estos errores se denominan "errores que provocan fin". Los errores que provocan fin detienen el procesamiento del comando. Por ejemplo, si envía datos no válidos o no tiene los permisos necesarios para ejecutar el comando, Windows PowerShell genera un error que provoca fin.
Desplazarse por Windows PowerShell
Una de las características más eficaces de Windows PowerShell es que permite desplazarse por distintos almacenes de datos con las mismas técnicas que se suelen emplear para desplazarse por el sistema de archivos.
Además de las conocidas unidades del sistema de archivos, como C: y D:, Windows PowerShell dispone de otras unidades que representan los subárboles del Registro HKEY_LOCAL_MACHINE (HKLM:) y HKEY_CURRENT_USER (HKCU:), el almacén de certificados de firmas digitales del equipo (Cert:) y las funciones de la sesión actual (Function:), entre otras. Estas unidades se conocen como unidades de Windows PowerShell.
Windows PowerShell cuenta con varias unidades de gran utilidad, que son compatibles con los proveedores de Windows PowerShell. Para ver una lista de las unidades de Windows PowerShell, escriba:
get-psdrive

Desplazarse por el sistema de archivos
Al iniciar Windows PowerShell, sentirá la tentación de escribir cd, dir o ls. Hágalo. cd es un alias del cmdlet Set-Location, que cambia la ubicación actual por la ruta especificada. dir y ls son alias del cmdlet Get-Childitem, que obtiene los elementos secundarios de una ubicación.
Para desplazarse por la unidad del sistema de archivos, utilice los cmdlets Set-Location (cd) y Get-Childitem (dir, ls). En Windows PowerShell, las unidades se especifican mediante el nombre de la unidad seguido de dos puntos, como C:, y los elementos principales se separan de los elementos secundarios mediante barras diagonales inversas (\) o barras diagonales (/), como en C:\Windows\System32.
Hay algunas características que facilitan la tarea de desplazarse por Windows PowerShell:
•   Existen símbolos para el directorio actual (.) y el contenido de un directorio (*).
•   Existen variables integradas para el directorio principal, $home, y el directorio de instalación de Windows PowerShell, $pshome.
Al igual que en otros shells, es posible cambiar ubicaciones, crear, eliminar, mover y copiar directorios y archivos, así como modificar sus propiedades. Incluso se puede completar con tabulaciones los nombres de las rutas. Para obtener información detallada, consulte la ayuda de los cmdlets Item (Get-Item, Get-Childitem, New-Item, Remove-Item, Set-Item, Move-Item y Copy-Item).
Desplazarse por el Registro
Es posible desplazarse por el Registro de Windows con las mismas técnicas que se utilizan para desplazarse por la unidad del sistema de archivos. En Windows PowerShell, el subárbol HKEY_LOCAL_MACHINE se asigna a la unidad HKLM:, mientras que el subárbol HKEY_CURRENT_USER se asigna a la unidad HKCU:.
Por ejemplo:
PS C:\> cd hklm:
PS HKLM:\> dir
PS HKLM:\> dir
   Hive: Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE
SKC  VC Name                           Property
---  -- ----                           --------
  4   0 HARDWARE                       {}
  1   0 SAM                            {}
Get-ChildItem : Requested registry access is not allowed.
En línea:1 carácter:3
+ dir <<<<
 39   2 SOFTWARE                       {flash, (default)}
  8   0 SYSTEM                         {}
PS HKLM:\> cd system\currentcontrolset\control
PS HKLM:\system\currentcontrolset\control> dir

Al desplazarse por el Registro, observará que la salida de dir (Get-Childitem) en las unidades del Registro es distinta a la del sistema de archivos. Dado que el Registro tiene unidades distintas con información diferente, el shell proporciona una vista distinta de los datos. En este caso es importante saber cuántas subclaves y entradas están presentes, de modo que la salida incluya un recuento de subclaves (SKC) y un recuento de entradas de valor (VC), además de los nombres de las subclaves y las entradas.
PS> cd "CurrentControlSet\Control\Session Manager"
PS> dir
    Hive: Registry::HKEY_LOCAL_MACHINE\system\CurrentControlSet\Control\Session
Manager

SKC  VC ChildName                      Property
---  -- ---------                      --------
  0   1 AppCompatibility               {AppCompatCache}
 15   0 AppPatches                     {}
  0   7 DOS Devices                    {AUX, MAILSLOT, NUL, PIPE, PRN, UNC, f...


No encontrará muchas diferencias al desplazarse hasta llegar a las entradas del Registro. Las entradas de una clave del Registro se consideran propiedades de la clave en la que se encuentran. Por tanto, puede utilizar el cmdlet Get-ItemProperty para recuperarlas.
Por ejemplo, si desea ver el valor de la directiva de ejecución de Windows PowerShell, puede utilizar el cmdlet Get-ExecutionPolicy o desplazarse a la entrada del Registro ExecutionPolicy que almacena el valor en HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell.
PS C:\> cd hklm:
PS HKLM:\> cd software\microsoft\powershell\1\ShellIds\Microsoft.PowerShell
PS HKLM:\software\microsoft\powershell\1\ShellIds\Microsoft.PowerShell> dir
PS HKLM:\software\microsoft\powershell\1\ShellIds\Microsoft.PowerShell> get-itemproperty -path . -name executionpolicy

PSPath          : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds\Micro
                  soft.PowerShell
PSParentPath    : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds
PSChildName     : Microsoft.PowerShell
PSDrive         : HKLM
PSProvider      : Microsoft.PowerShell.Core\Registry
ExecutionPolicy : RemoteSigned

Desplazarse por el almacén de certificados
También puede desplazarse por el almacén de certificados de firmas digitales del equipo. El almacén de certificados se asigna a la unidad Cert: de Windows PowerShell. En el ejemplo siguiente se muestra cómo se utilizan Set-Location (cd) y Get-Childitem (dir, ls) para desplazarse a la unidad Cert:.
PS C:\> cd cert:
PS cert:\> dir
Location   : CurrentUser
StoreNames : {TrustedPeople, _NMSTR, Trust, REQUEST...}

Location   : LocalMachine
StoreNames : {_NMSTR, Trust, REQUEST, TrustedPeople...}

PS cert:\> cd currentuser
PS cert:\currentuser> dir

Name : TrustedPeople
Name : _NMSTR
Name : Trust
Name : REQUEST
Name : AuthRoot
Name : ACRS
Name : My
Name : addressbook
Name : Disallowed
Name : CA
Name : UserDS
Name : Root
Name : TrustedPublisher

PS cert:\currentuser> cd authroot
PS cert:\currentuser\authroot> dir
    Directory: Microsoft.PowerShell.Security\Certificate::currentuser\authroot
Thumbprint                                Subject
----------                                -------
F88015D3F98479E1DA553D24FD42BA3F43886AEF  O=C&W HKT SecureNet CA SGC Root, C=hk
F44095C238AC73FC4F77BF8F98DF70F8F091BC52  CN=Class 3TS Primary CA, O=Certplus, C=FR
EF2DACCBEABB682D32CE4ABD6CB90025236C07BC  O="Colegio Nacional de Correduria Publica Mexicana, A.C.", CN="Autoridad C...
...
PS cert:\currentuser\authroot> get-childitem F88015D3F98479E1DA553D24FD42BA3F43886AEF
    Directory: Microsoft.PowerShell.Security\Certificate::currentuser\authroot
Thumbprint                                Subject
----------                                -------
F88015D3F98479E1DA553D24FD42BA3F43886AEF  O=C&W HKT SecureNet CA SGC Root, C=hk

PS cert:\currentuser\authroot> get-childitem F88015D3F98479E1DA553D24FD42BA3F43886AEF | format-list -property *


PSPath             : Microsoft.PowerShell.Security\Certificate::currentuser\authroot\F88015D3F98479E1DA553D24FD42BA3F43
                     886AEF
PSParentPath       : Microsoft.PowerShell.Security\Certificate::currentuser\authroot
PSChildName        : F88015D3F98479E1DA553D24FD42BA3F43886AEF
PSDrive            : cert
PSProvider         : Microsoft.PowerShell.Security\Certificate
PSIsContainer      : False
Archived           : False
Extensions         : {}
FriendlyName       : CW HKT SecureNet CA SGC Root
IssuerName         : System.Security.Cryptography.X509Certificates.X500DistinguishedName
NotAfter           : 10/16/2009 2:59:00 AM
NotBefore          : 6/30/1999 3:00:00 AM
HasPrivateKey      : False
PrivateKey         :
PublicKey          : System.Security.Cryptography.X509Certificates.PublicKey
RawData            : {48, 130, 2, 235...}
SerialNumber       : 00
SubjectName        : System.Security.Cryptography.X509Certificates.X500DistinguishedName
SignatureAlgorithm : System.Security.Cryptography.Oid
Thumbprint         : F88015D3F98479E1DA553D24FD42BA3F43886AEF
Version            : 1
Handle             : 1577256
Issuer             : O=C&W HKT SecureNet CA SGC Root, C=hk
Subject            : O=C&W HKT SecureNet CA SGC Root, C=hk

Desplazarse por otras unidades
Además de las unidades del sistema de archivos, el Registro y los certificados, Windows PowerShell cuenta con otras unidades de gran utilidad, como las unidades de alias (Alias:), de proveedor de entorno (Env:), de funciones (Function:) y de variables (Variable:). Utilice las mismas técnicas básicas para desplazarse por estas unidades.
Acerca de las unidades de Windows PowerShell
Las características de desplazamiento ampliadas de Windows PowerShell se basan en las unidades de Windows PowerShell.
Estas unidades de Windows PowerShell se pueden crear en cualquier almacén de datos que esté disponible en Windows PowerShell y pueden tener cualquier nombre válido, como C: o "Mi unidad", seguido de dos puntos (:). Puede desplazarse por estas unidades con los mismos métodos que utilizaría en una unidad del sistema de archivos. Sin embargo, las unidades de Windows PowerShell sólo pueden verse en Windows PowerShell. No pueden verlas ni obtener acceso a ellas a través del Explorador de Windows o Cmd.exe.
Windows PowerShell cuenta con varias unidades de gran utilidad, que son compatibles con los proveedores de Windows PowerShell. Para ver una lista de las unidades de Windows PowerShell, escriba:
get-psdrive

También puede crear sus propias unidades de Windows PowerShell a través del cm
2362  Programación / .NET (C#, VB.NET, ASP) / Re: DIFERENCIAS ENTRE VB 6.0 Y VB.NET ??? en: 5 Agosto 2007, 11:16 am
El .net es libre, C# también.

Por eso se dice que Visual studio .net es lo mjor que ha hecho MicroSoft en su vida, hasta los usurios de Linux lo dicen.

ekjeee
2363  Programación / .NET (C#, VB.NET, ASP) / Re: DIFERENCIAS ENTRE VB 6.0 Y VB.NET ??? en: 5 Agosto 2007, 02:43 am
bueno yo no soy quien para decir nada, pero bueno pues en este tema, os recomiendo a los programadores de vb6, que miran mas alla, que vb.net, es el futuro comparado con vb6, ademas en vb.net puedes hacer un buen diseño de cuarquier programa que se te antoje, mientra que en vb6  tienes que tirar codigo, bueno pues eso.. y muchas cosas, mas, evitas menos dependencias, etc, etc,etc,etc,etc, etc, etc, en fin, ya entiende,...vb.net tiene mas posibilidad que vb6, creo que un programador, no deberia pensar en vb6, ni siquiera los que se inicean a la programacion, para lo que quieres programar, etc, o para net, etc.. pues tienes una buena opcion, podeis elegis entres unos de ellos, ( vb.net - vc++.net - vc#.net ) muy buenos lenguajes, en fin lo que quieran....

saludos...

La propia MicroSoft quiere que empecemos y nos pasemos con el nuevo lenguaje C#, que s escribe lo mismo con menosmcódigo, para eso se creó y es más potente que vb, bla, bla, bla, etc.
2364  Programación / .NET (C#, VB.NET, ASP) / Re: DIFERENCIAS ENTRE VB 6.0 Y VB.NET ??? en: 4 Agosto 2007, 22:58 pm
El VB .net seguirá siendo emjorando, ya está la beta 2 del VB9 .net (2008)

Le da mil vueltas al VB6, y el nuevo será más compatible con lso nuevos SO.
2365  Programación / .NET (C#, VB.NET, ASP) / Re: Visual Studio 2005 Express completamente en español en imagenes.iso en: 4 Agosto 2007, 17:04 pm
Gracias, llevo esperando tiempo para ello y ahora llega el 2008.

Espero que con el nuevo 2008 también esté en ISO y español.
2366  Media / Diseño Gráfico / Re: Diseño en 3D en: 3 Agosto 2007, 23:56 pm
blender

3D studio max

AutoCAD
2367  Programación / .NET (C#, VB.NET, ASP) / Re: Visual Studio 2008 Beta 2 en: 2 Agosto 2007, 11:32 am
Yo también, mejor esperar.
2368  Programación / Scripting / Re: Manuales de Python en: 31 Julio 2007, 01:43 am
Gracias.
2369  Programación / .NET (C#, VB.NET, ASP) / Re: Visual Studio 2008 Beta 2 en: 31 Julio 2007, 01:40 am
Probé la beta 1 y se me aprece mucho al 2005. Lo probaré la beta 2 del 2008, rpefiero esperar para la final.

Alguien ve algo nuevo a parte de corregir los errores????????
2370  Programación / .NET (C#, VB.NET, ASP) / ¿Cómo manegar el regedit programando? en: 21 Julio 2007, 17:32 pm
Hola, estoy utilizando el Visual C# .net 2005 (en realidad el Orcas, pero bueno)

¿Hay documentación por ahí para aprender manejar? Es decir, crear, modificar, etc el editor de registro de windows.
Páginas: 1 ... 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 [237] 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 ... 254
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines