Manual Bàsic PS Tools
Upcoming SlideShare
Loading in...5
×
 

Manual Bàsic PS Tools

on

  • 979 views

Manual Bàsic Microsoft PSTools

Manual Bàsic Microsoft PSTools

Statistics

Views

Total Views
979
Views on SlideShare
979
Embed Views
0

Actions

Likes
0
Downloads
28
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Manual Bàsic PS Tools Manual Bàsic PS Tools Document Transcript

  • *** Manual Bàsic PS Tools ***La serie PsTools incluye varias aplicaciones individuales, incluidas en la figura 1. Al igual que ocurre conel resto de las utilidades de Sysinternals, no hay instalador, sólo aplicaciones. ¡Sólo tiene que colocarlasen una carpeta de su ruta de acceso y adelante!Figure 1 Utilidades de P sToolsHerramienta DescripciónPsExec Permite ejecutar procesos en cualquier contexto de usuario.PsFile Muestra los archivos abiertos de forma remota en un sistema.PsGetSid Muestra el identificador de seguridad (SID) de Windows de un equipo oun usuario.PsInfo Muestra información acerca de un sistema de Windows.PsKill Elimina los procesos por nombre o identificador.PsList Muestra información detallada acerca de procesos en ejecución.PsLoggedOn Muestra todos los usuarios que han iniciado la sesión de forma local,así como todos los usuarios de recursos compartidos remotos.PsLogList Vuelca los registros de eventos de Windows.PsPasswd Cambia las contraseñas de cuentas de usuario.PsService Consulta y controla los servicios de Windows.PsShutdown Apaga, reinicia o suspende un equipo, o lo coloca en modo dehibernación.PsSuspend Suspende procesos en ejecución.Ahora, es posible que note que parte de esta funcionalidad (sobre todo PsLogList) se podría conseguir através de Windows Management Instrumentation (WMI) y algunas secuencias de comandos complejas.Sin embargo, la clave de la serie PsTools es que cada utilidad se diseñó para llevar a cabo una tareaparticular de forma muy simple.Voy a guiarle por todas las herramientas y le daré ejemplos sencillos de por qué y cómo podríautilizarlas. Pero primero, ofreceré una breve introducción acerca de cómo funcionan las herramientas yqué tipo de requisitos previos debe cumplir para que funcionen.
  • ¿Cómo funcionan las herramientas?Todas las herramientas suelen funcionar de la misma manera. En el sistema de host, inicie la PsTooldeseada. Aunque muchas se pueden ejecutar de forma local, comprobará que estas herramientassuelen ofrecer su mayor utilidad al ejecutarse en un sistema remoto o en varios sistemas a la vez. PsExeces una excepción específica que viene al caso, como podrá ver en el ejemplo que aparece acontinuación. Mediante el argumento de línea de comandos que proporciona, la utilidad se copia en elrecurso compartido administrativo del sistema remoto, que es el mismo que %SystemRoot% (directoriode Windows) en el sistema remoto.Una vez copiada en el directorio remoto, la aplicación se inicia e instala un servicio de Windows. Esteservicio de Windows realiza la tarea que haya solicitado, con las credenciales que proporcionó en elmomento del inicio. Si la herramienta específica requiere una interfaz de usuario final en el sistemacliente, este servicio inicia un binario adicional en el contexto de usuario. Recuerde que los servicios nopueden iniciar interfaces de usuario interactivas y directas. El servicio comunica la información necesariaa la consola que lo haya iniciado. Y, por último, el servicio se desinstala solo.Como puede ver, las herramientas son eficaces e independientes. Aunque implican múltiples binarios yprocesos, el usuario no tiene que preocuparse: sólo tiene que ejecutar la herramienta deseada yfuncionará.Para utilizar las herramientas, debe cumplir los requisitos previos siguientes: Windows NT®, Windows2000, Windows XP o Windows Server® 2003 (es compatible con las versiones x86 o x64 de Windows,aunque no con las versiones de Itanium), el recurso compartido de red administrativo predeterminado yhabilitado en el sistema remoto en el que se ejecutan las herramientas (admin$), y los puertos delrecurso compartido de impresoras y archivos del sistema remoto (tanto si utiliza el Firewall de Windows,el Servidor de seguridad de conexión a Internet o algún otro producto similar).PsExecProbablemente PsExec sea mi herramienta favorita entre todas (y, probablemente, no por la razón quecabría imaginar). Durante la mayor parte de un período de dos años, no he ejecutado mis sistemascomo administrador, sino como usuario. Tengo una breve secuencia de comandos denominada run.vbsque utilizo para ejecutar mis aplicaciones como Administrador local (se pueden ejecutar igual de fácilcomo cualquier usuario). En la figura 2 se muestra el contenido de la secuencia de comandos (quetambién está disponible en el sitio Te c hN et M a ga zin e en technetmagazine.com/code07.aspx). Lasecuencia de comandos da por supuesto que PsTools se encuentra en la variable de sistema de la rutade acceso.Figure 2 Run.vbsSET WshShell = WScript.CreateObject("WScript.Shell")SET WshSysEnv = WshShell.Environment("SYSTEM")SET FSO = CreateObject("Scripting.FileSystemObject")IF WScript.Arguments.Count <> 0 ThenFOR EACH arg IN WScript.ArgumentsiArgCount = iArgCount + 1strCmdArg = (arg)strCmdArray = Split(strCmdArg, " ", 2, 1)IF iArgCount = 1 THENstrExe = strCmdArray(0)ELSEIF iArgCount = 2 THENstrRun = strCmdArray(0)ELSE
  • strParams = strParams&" "&strCmdArray(0)END IFNEXTEND IF/t:0A && title ***** Admin *****strExt = LCase(Right(strExe, 3))IF strExt <> "exe" AND strExt <> "bat" AND strExt <> "cmd" THENWshShell.Run "psexec.exe -d -i -e -u COMPUTERNAMEUSER -p PASSWORD cmd /c start"&strExe&""&strRun&" "&strParams, 0, FALSEELSEWshShell.Run "psexec.exe -d -i -e -u COMPUTERNAMEUSER -p PASSWORD "&strExe&" "&strRun&""&strParams, 0, FALSEEND IFSET WshShell = NOTHINGSET WshSysEnv = NOTHINGSET FSO = NOTHINGEsta secuencia de comandos sencilla es un ejemplo de uso de PsExec con la funcionalidad que Markagregó cuando trabajábamos en los productos de administración de protección en Winternals: lacapacidad para un usuario limitado de ofrecer credenciales con más privilegios para iniciar PsExec deforma local. El uso más común de PsExec, por supuesto, es ejecutarla de forma remota, por ejemplo,para ejecutar una utilidad que no ofrece su propio marco de automatización, de secuencias decomandos o de capacidad remota. Algunas características clave de PsExec incluyen la posibilidad decopiar un binario en sistemas remotos para que se ejecute y la capacidad de dictar la afinidad deprocesadores. Otra característica práctica de PsExec es la capacidad de redactar su secuencia decomandos en muchos equipos simultáneamente mediante un archivo de secuencia de comandos.A continuación incluimos el uso simplificado de PsExec:PsExec computer -u username -p password commandPuede ampliarlo mediante los conmutadores que se muestran en la figura 3.Figure 3 Conmutadores de P s ExecConmutador Descripción-a Especifica la afinidad de procesadores.-c Indica si la aplicación se debe copiar en el sistema remoto.-d Especifica que no se espere a que acabe el proceso antes de salir (noesperará un mensaje de éxito o de error).
  • -e La carga se realiza mediante el perfil de la cuenta especificada.-f Copia la aplicación aunque exista en el sistema remoto. Garantiza queestá ejecutando la versión actual (o una específica).-i Ejecuta la aplicación interactivamente en el sistema remoto (necesario sidesea que un usuario final vea cualquier interfaz de usuario de laaplicación).-l Ejecuta la aplicación como usuario limitado. Elimina el token del grupo deadministradores y recorta los privilegios de procesos al nivel en queestarían para un miembro del grupo de usuarios. Práctico para ejecutaraplicaciones de alto riesgo de cara a Internet con privilegios mínimos.-n Especifica el tiempo de espera necesario antes de que se produzca unerror en la conexión con los equipos remotos.-priority Ejecuta el proceso con la prioridad especificada. Es decir, especificacómo debe definir Windows la prioridad de proceso para una tareadeterminada (-low, -belownormal, -abovenormal, -high o -realtime).-s Ejecuta el proceso con la cuenta del sistema (práctico para ejecutarRegedit y tener acceso a las claves del Registro con privilegios).-v Copia la aplicación sólo si la que se está copiando es más reciente.-x Muestra la interfaz de usuario en el escritorio seguro de Winlogon. Sólofunciona en el sistema local.@file Ejecuta el comando en todos los equipos especificados en el archivo detexto.
  • PsFilePsFile es una herramienta más especializada que PsExec. Específicamente, se utiliza para comprobar quéarchivos están abiertos, y por quién, en el sistema remoto. Esto puede ser útil si quiere realizar unseguimiento de los archivos que están abiertos antes de reiniciar un servidor. Si necesita averiguar quéusuario ha bloqueado el archivo, de forma que impide la edición o la eliminación, puede enviar unanotificación de forma manual o cerrar el archivo mediante PsFile. El uso de PsFile se incluye acontinuación:PsFile computer -u username -p passwordEsto devuelve simplemente una lista de los controladores de archivos abiertos en el sistema remoto.Más allá del uso estándar, también puede agregar un parámetro de identificación a la instrucción, yespecificar el nombre del archivo acerca del que desea encontrar información o que desea cerrar.También puede incluir el conmutador -c, que cierra el archivo que ha identificado con el parámetro deidentificación.PsGetSidPsGetSid también es una herramienta muy especializada. Le indicará el identificador de seguridad (SID)de un equipo, un usuario o un grupo. Esto puede ser útil si desea asegurarse de que los sistemas de sudominio no tengan SID duplicados o si desea comprobar los SID de todos los usuarios o los grupos deun sistema. El uso de PsGetSid es del siguiente modo:PsGetSid computer -u username -p password accountFíjese que la cuenta puede especificar un usuario, un equipo o un grupo. Si bien la sintaxis de PSGetSides sencilla, también hay un par de parámetros adicionales disponibles. El parámetro SID especifica lacuenta (el grupo o el equipo) con un SID determinado, y @file ejecuta el comando en todos los equiposenumerados en el archivo de texto especificado.PsInfoPsInfo se usa para ofrecer información detallada del sistema. Obviamente, esto resulta particularmenteútil cuando la secuencia de comandos se aplica a múltiples sistemas remotos, con el envío del resultadoa un archivo (por ejemplo, un archivo de Excel ® y un archivo CSV compatible con bases de datos). Tengaen cuenta que esta utilidad se basa en un importante concepto que es diferente en la mayor parte delresto de las herramientas: si no proporciona un nombre de equipo, PsInfo intentará, de formapredeterminada, consultar todos los equipos del dominio. El uso de PsInfo es del siguiente modo:PsInfo computer -u username -p passwordAunque la sintaxis es sencilla, hay disponibles parámetros y conmutadores adicionales, como se muestraen la figura 4.Figure 4 Conmutadores de P sInfoConmutador Descripción-h Muestra todas las actualizaciones de Windows.-s Muestra todas las aplicaciones instaladas en el sistema.-d Muestra la información de disco/volumen del sistema.-c Ofrece los resultados en formato CSV.-t Especifica otro delimitador para el archivo CSV distinto al valor
  • predeterminado de t.Filter Muestra sólo los datos que coinciden con un filtro determinado.@file Ejecuta el comando en todos los equipos incluidos en el archivo de textoespecificado.PsKillPsKill es una gran utilidad para terminar procesos en un sistema local o remoto. Su uso es muy sencillo,y permite eliminar rápidamente un proceso junto con todos sus procesos secundarios. El uso de PsKillse parece bastante a las otras herramientas que he analizado:PsKill -t computer -u username -p password process id | process nameTenga en cuenta que puede especificar el identificador o el nombre del proceso que desea eliminar.PsListNo utilizo PsList mucho porque soy más bien un fan de Process Explorer (consultemicrosoft.com/technet/sysinternals/ProcessesAndThreads/ProcessExplorer.mspx para obtener másinformación). Sin embargo, dado que no existe una versión remota de Process Explorer, PsList pasa a serun símil razonable de algunas de las funcionalidades clave que proporciona Process Explorer. De hecho,PsList es una lista remota de uno o más procesos que se ejecutan en un sistema remoto.El uso de PsList es bastante sencillo:PsList computer -u username -p password accountAl igual que ocurre con las otras herramientas, el parámetro de cuenta puede especificar un usuario, unequipo o un grupo. Los parámetros adicionales se muestran en la figura 5.Figure 5 Conmutadores de P sListConmutador Descripción-t Muestra información al nivel de subproceso.-m Ofrece información de memoria detallada de cada proceso.-x Muestra la información de procesos, memoria y subprocesos.-t Muestra la información en forma de árbol de procesos (como la vista deárbol de Process Explorer).-s [n] Se ejecuta en modo de administrador de tareas durante un númerodeterminado de segundos. Esto permite una visualización en tiempo real(relativamente) de la información de procesos remotos.-r [n] Especifica la frecuencia (en segundos) de actualización en modo deadministrador de tareas.
  • name Muestra información acerca de los procesos que empiezan con el nombreespecificado.-e Coincide con el nombre de proceso exactamente.pid Muestra información acerca de un proceso específico.PsList es eficaz y, al mismo tiempo, fácil de utilizar (y, sin necesidad de usar el Escritorio remoto, permitever los procesos remotos con gran detalle). Con esta información, podría seguir adelante con PsKill oPsSuspend si, por ejemplo, tuviera un proceso que deba contenerse.PsLoggedOnLa premisa subyacente de PsLoggedOn no necesita explicación. La utilidad muestra quién ha iniciadosesión en el sistema. Puede tratarse de inicios de sesión locales (interactivos) o de recurso compartidode red. De forma parecida a PsFile, esta capacidad puede ser útil para determinar quién está usando unservidor en el que puede que tenga que realizar cierto mantenimiento. Su uso es muy sencillo:PsLoggedOn computerPsLoggedOn tiene sólo dos parámetros opcionales: -l sólo muestra los inicios de sesión locales (no losde red) y -x excluye la hora de inicio de sesión.Aunque se trata de una herramienta básica, PsLoggedOn permite consultar fácilmente información que,por lo general, tendría que buscar en un par de ubicaciones de Windows.PsLogListPsLogList es una de las utilidades más prácticas que sirve para volcar los registros de eventos deWindows en un formato de texto que, a continuación, pueden utilizar los lectores de registro, las basesde datos o cualquier utilidad que desee. La ventaja principal es que convierte las entradas de registrosde eventos de su formato binario en algo que se puede transformar o automatizar fácilmente. Porsupuesto, en Windows Vista™, los registros de eventos están disponibles originalmente como XML,aunque eso es otra historia.El uso de PsLogList es del siguiente modo:PsLogList computer -u username -p passwordHay varios conmutadores y parámetros adicionales disponibles, como se muestra en la figura 6.Figure 6 Conmutadores de P sLogListConmutador Descripción-a Vuelca sólo los eventos posteriores a la fecha especificada.-b Vuelca sólo los eventos anteriores a la fecha especificada.-c Limpia el registro de eventos permanentemente después de volcar losresultados deseados.-d Muestra únicamente la información de un número especificado de días.-e Excluye los eventos con el identificador de evento especificado (sepueden especificar hasta 10).
  • -f Filtra tipos de eventos (advertencia, error, etcétera).-g Exporta el registro de eventos como archivo EVT. Requiere el conmutador-c.-h Muestra únicamente la información de un número especificado de horas.-l Vuelca información desde el archivo EVT especificado.-m Muestra únicamente la información de un número especificado deminutos.-n Muestra únicamente el número especificado de eventos más recientes.-o Muestra únicamente los eventos de un origen determinado (o -SRServiceen el caso del servicio de restauración del sistema de Windows, porejemplo).-q Excluye los eventos de un origen determinado (al contrario que -o).-r Invierte el orden: vuelca los eventos de registros de menos reciente a másreciente.-s Enumera los registros de cada línea en campos delimitados.-t Especifica un delimitador distinto de la coma para el resultado de de -s.-w Espera a que se rellenen los eventos nuevos y los vuelca en tiempo real.Esto sólo se aplica en el sistema local.-x Vuelca los datos extendidos de los registros de eventos.eventlog Especifica cuál es el registro de evento que se va a volcar. System es elvalor predeterminado.@file Ejecuta el comando en todos los equipos especificados en el archivo detexto.Los registros de eventos de Windows pueden ser una herramienta de diagnóstico increíblemente eficaz,pero el truco es obtener los datos hasta el punto de poder manipularlos o consolidarlos. PsLogListrealiza este truco.
  • PsPasswdPsPasswd es una utilidad sencilla, aunque eficaz, diseñada con parte de la misma funcionalidad queNet.exe, pero que incluye además el aspecto remoto y automático.PsPasswd computer -u username -p password Username NewpasswordPuede especificar un equipo, ningún equipo (el sistema local) o, si especifica el equipo como *,ejecutar la utilidad en todos los equipos del dominio actual. PsPasswd tiene sólo un parámetro adicionaldisponible: @file ejecuta el comando en todos los equipos especificados en el archivo de texto. Denuevo, se trata de una utilidad muy básica que proporciona una eficacia enorme con varios sistemas.PsServicePsService permite ver y editar la información del Administrador de control de servicios (SCM) en uno omás sistemas de la red, e incluso puede buscar un nombre de servicio determinado en los sistemas desu red.PsService computer -u username -p password command optionsAl ejecutar PsService, el comando representa uno de los comandos enumerados en la figura 7, y lasopciones especifican el atributo que se va a aplicar a un comando dado. Si no se proporciona ningúnconmutador de comando adicional, PsService ofrecerá un volcado completo de información de SCM.Figure 7 Comandos de P s ServiceComando Descripciónquery Consulta un servicio determinado.config Consulta la información de configuración de un serviciodeterminado.setconfig Establece la información de configuración de un serviciodeterminado.start Inicia un servicio.stop Detiene un servicio.restart Reinicia (detiene e inicia) un servicio.pause Interrumpe un servicio.cont Reanuda un servicio interrumpido.depend Muestra qué servicios dependen del servicio determinado.find Busca en la red una sesión determinada del servicio.security Ofrece información de seguridad de un servicio determinado.De este modo, puede pensar en PsService como una versión de línea de comandos eficaz y remota de
  • Services.msc, pero una que, además, permite buscar servicios (tal vez peligrosos) en toda la red y definirinformación de configuración.PsShutdownPsShutdown es otra de mis herramientas favoritas. Aunque algunos podrían decir que Microsoft yaincluye una herramienta que se hace cargo de esta tarea (shutdown.exe), realmente no es lo mismo. Ladiferencia clave está en la eficacia de PsShutdown: a saber, poder apagar o reiniciar un sistema remoto.Además, tiene la capacidad de poner un sistema en modo de espera o hibernación (no sólo en modo deapagado o de reinicio), bloquear un sistema y reiniciar un equipo después de mostrar un mensaje alusuario durante un período determinado de tiempo.PsShutdown computer -u username -p passwordTambién hay varios parámetros adicionales disponibles para su uso con PsShutdown, como se muestraen la figura 8.Figure 8 Conmutadores de P s ShutdownConmutador Descripción-a Anula un proceso de apagado en curso iniciado por PsShutdown.-c Permite que un usuario interactivo anule el proceso de apagado.-d Suspende el equipo (modo de espera).-e Códigos de motivo del proceso de apagado. Recomiendo la consulta delsitio web de Microsoft para obtener ayuda con estos conmutadores, yaque su uso puede generar problemas con PsShutdown y la utilidadshutdown.exe integrada. Consulte msdn2.microsoft.com/en-us/library/aa376885.aspx (en inglés) para obtener más información.-f Fuerza la finalización de todas las aplicaciones.-h Coloca el equipo en modo de hibernación.-k Desconecta el equipo (lo reinicia si no se admite la desconexión).-l Bloquea el equipo.-m Especifica el mensaje que se mostrará a los usuarios interactivos.-n Especifica el tiempo de espera necesario antes de que se produzca unerror en la conexión con los equipos remotos.-o Cierra la sesión del usuario de la consola.-r Reinicia el equipo.
  • -s Apaga el equipo, pero no lo desconecta.-t El tiempo que debe transcurrir antes de ejecutar el comando de apagadoo el tiempo concreto para la desconexión.-v Muestra el mensaje para los usuarios hasta que se produce el apagado.@file Ejecuta el comando en todos los equipos especificados en el archivo detexto.Puede comprobar que PsShutdown es una utilidad de control de potencia del sistema muy eficaz yaltamente configurable y que, además, es relativamente fácil de usar.PsSuspendPsSuspend es una práctica utilidad si desea poner un proceso invasor bajo control de forma temporal osi simplemente desea reducir temporalmente un proceso de uso de CPU elevado sin perder ningún datoo contexto de aplicación.PsSuspend computer -u username -p password process IDPuede obtener el identificador de proceso con PsList. Una vez suspendido un proceso, puede utilizar elconmutador -r para reanudarlo. Tenga en cuenta que el concepto de suspensión y reanudación de unproceso lo implementa también Process Explorer, aunque sólo de forma local. Obviamente, PsSuspendpuede suspender y reanudar los procesos de forma remota y local, lo que supera la implementaciónintegrada en Process Explorer.ConclusiónCreo que la serie PsTools es un conjunto de utilidades de valor incalculable. Junto con el resto deutilidades de Sysinternals (a saber, Regmon, Filemon, Process Explorer y, ahora, Process Monitor),PsTools se encuentra entre los primeros programas que pongo en mi ruta de acceso al reinstalarWindows en cualquiera de mis sistemas. Espero que esta columna le familiarice con la serie PsTools sino la conocía de antes o, en este caso, espero que haya ampliado sus conocimientos sobre estasherramientas. Mi agradecimiento especial a Mark Russinovich, por supuesto, por ofrecer estasherramientas de forma gratuita todos estos años y ayudarme con el contenido de esta columna.