Cmdlets de Powershell que mejorarán sus habilidades de administrador de Windows

Cmdlets de Powershell que mejorarán sus habilidades de administrador de Windows

Powershell es una forma perfecta para que un nuevo codificador se inicie en Windows. Powershell es una herramienta de línea de comandos y un lenguaje de secuencias de comandos a partes iguales. Te da la capacidad de automatizar tu computadora a través de los mismos comandos que usa para administrarlo . Si tiene un sistema Windows moderno, ya tiene Powershell. La mayoría de sus usos están centrados en Windows, pero también puede instalar Powershell en una máquina Mac o Linux.





Trabajando con Powershell

Hay dos formas de utilizar Powershell. Existe la ventana de línea de comandos básica, que se utiliza para ejecutar comandos o invocar scripts escritos previamente. Luego está el ISE, que combina la ventana CLI con un entorno de desarrollo básico. Con esto, puede escribir y probar sus scripts.





El ISE tiene una lista de comandos de búsqueda y puede usar su ventana de terminal sin abrir un archivo. La lista de comandos le permite construir su comando e insertarlo. Si está realizando un desarrollo más avanzado, instale Visual Studio Code de Microsoft. El código incluye soporte para el control de versiones de Git y otros idiomas.





Powershell es único en el sentido de que está construido completamente con comandos, Microsoft los llama Cmdlets. Estos comandos son los mismos si está trabajando a través de la línea de comandos o escribiendo scripts complejos. Entonces, mientras usa estos comandos, puede pensar en cómo encadenarlos para crear sus primeros scripts.

Lo básico: obtener comando, obtener ayuda, obtener miembro

Todos los comandos de Powershell toman la forma de Verbo-Sustantivo. Los verbos suelen ser: Obtener, configurar y nuevo .



Get-Command le permite ver todos los comandos disponibles. Al ejecutar Get-Command, verá que hay toneladas de comandos que comienzan con estos.

Profundizando más allá de los nombres de los cmdlets, comienza a ver que todos tienen una estructura similar. Los invoca por su nombre, tal como lo hizo con Get-Command. El uso de parámetros cambia la información que obtiene. Sin embargo, si solo ha utilizado el comando con las opciones predeterminadas, ¿cómo averigua cómo utilizar los parámetros avanzados?





Utilizando el Consigue ayuda cmdlet con Get-Command muestra más información sobre el cmdlet. Usamos el cmdlet con la siguiente sintaxis:

|_+_|

Luego verá la información básica sobre los parámetros. Si desea ver los detalles del parámetro y algunos ejemplos de uso, agregue el parámetro -Full.





Si solo desea ver los ejemplos, puede ejecutar:

|_+_|

Este cmdlet devuelve solo los ejemplos del archivo de ayuda. Estos ejemplos son muy útiles porque incluyen descripciones. Este texto de ayuda explica qué hacen el cmdlet y los parámetros cuando se ejecutan.

Si desea abrir el archivo de ayuda en una ventana separada, puede usar -Mostrar ventana . Entonces, si corres:

|_+_|

Powershell abre una ventana con el archivo de ayuda completo. No es necesario utilizar el parámetro Completo aquí, ya que la ventana muestra el artículo completo.

A medida que avanza más con Powershell, encontrará que usa Get-Member con más frecuencia. Es una forma sencilla de ver qué campos están disponibles a partir de los datos devueltos, así como otros métodos que puede ejecutar. A menudo, los cmdlets tendrán un -Propiedad parámetro para permitirle llamarlos.

Trabajar con archivos: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Ahora que tiene una idea de cómo funcionan los cmdlets y cómo obtener ayuda, hagamos cambios. Puede obtener el contenido de cualquier carpeta utilizando el Get-ChildItem mando. Por ejemplo, puede obtener los archivos de una unidad completa utilizando la letra de la unidad. Ingresar:

|_+_|

Que es la abreviatura de:

|_+_|

Cuando ejecuta este comando, obtiene una lista de archivos con su Hora de última escritura, tamaño en la propiedad Longitud, Nombre y Modo. El modo son los atributos de un archivo o carpeta. Las posibles entradas son:

  • Solo lectura
  • Oculto
  • Sistema
  • Directorio
  • Archivo
  • Dispositivo
  • Normal
  • Temporal
  • SparseFile
  • ReparsePoint
  • Comprimido
  • Desconectado
  • NotContentIndexed
  • Cifrado

Si desea obtener el contenido de todos los subdirectorios en una ruta, debe usar el -Recurrir parámetro. Entonces ejecuta:

|_+_|

Luego, sus archivos aparecen como listas separadas para cada carpeta en la ruta.

Para limitar los datos devueltos, puede utilizar algunos parámetros diferentes: -Expediente , -Oculto , y -Solo lectura . Si está buscando filtrar los nombres del archivo, puede usar comodines en el parámetro Ruta. Para devolver todos los archivos .doc en un directorio, ingrese:

|_+_|

De nuevo agregue -recurrencia si también deseaba todo de las subcarpetas.

Si desea eliminar un archivo, utilice:

|_+_|

Para omitir la confirmación de cada archivo, agregue el parámetro -Confirmar $ falso (Powershell tiene dos constantes para valores booleanos: $ true y $ false). Para forzar la eliminación de archivos ocultos o de solo lectura, utilice el -Fuerza parámetro.

Mover archivos es igual de fácil. Para mover todo desde su unidad Flash a la unidad local en una carpeta, use:

|_+_|

También puede nombrar un solo archivo en -Path para mover solo ese archivo. Para copiar el archivo en lugar de moverlo, utilice la misma sintaxis con la Copiar artículo cmdlet.

Monitoreo y trabajo con procesos y servicios

Cada El usuario de Windows conoce el Administrador de tareas . Sin embargo, existe una forma más rápida de ver los procesos que se están ejecutando actualmente desde Powershell, Obtener-proceso . Si desea saber qué significan todas las entradas de esta tabla, canalice el comando a Obtener miembro . Ingrese el cmdlet:

|_+_|

Get-member genera una lista de métodos y propiedades asociados con Get-Process. La información en la parte superior es lo que le interesa. Verá que los distintos tipos de memoria tienen alias.

También podemos ver en esta salida que podemos obtener el Producto propiedad para darle un nombre más amigable a los procesos. Cambiemos la salida para que tenga mejor información con la que trabajar:

el micrófono está recogiendo la salida de audio windows 10
|_+_|

(Hay más información sobre Seleccionar-Objeto y Ordenar-Objeto en la siguiente sección).

Ahora que tiene el ID de su comando Get-Process, puede detenerlo usando el cmdlet Stop-Process. Entonces, si encuentra que un proceso de Chrome está consumiendo todos sus recursos, busque la ID en el comando anterior. Entonces corre:

|_+_|

Reemplazar 49560 con la identificación de su acaparador de recursos.

Usando la ruta del archivo, puede iniciar un proceso usando Powershell. Para iniciar Chrome, ejecute el siguiente comando:

|_+_|

(Debe tener las comillas alrededor de la ruta del archivo debido a los espacios). -ArgumentList El parámetro le permite pasar opciones de línea de comando a la aplicación. En el caso de Chrome, puede forzar que se inicie en modo incógnito usando el --incógnito bandera. El cmdlet completo es:

|_+_|

Puede hacer la mayoría de estas mismas cosas con los servicios. Obtener servicio muestra una lista de todos los servicios que se ejecutan en su computadora. Lo mismo con los servicios de inicio y detención, puede utilizar Comienza el servicio y Parada de servicio .

Trabajar con datos: Ordenar-Objeto, Seleccionar-Objeto, Dónde-Objeto

Cuando trabaja con los datos de un cmdlet, es posible que no siempre sea el orden que desea. En esos casos, desea utilizar el Ordenar-Objeto . Puede llamar a Sort-Object en una variable que creó, pero principalmente se usa canalizando otro cmdlet. Como en el ejemplo anterior, canalizamos la salida de un objeto a otro y lo clasificamos. Creemos una matriz de tres números aleatorios y la canalicemos a Sort-Object.

Todo lo que esté entre paréntesis se ejecuta primero. Crea una matriz simple con:

|_+_|

Asegúrese de notar las comas que separan los valores. Entonces, para ver los números aleatorios ordenados, ejecute:

|_+_|

El cmdlet genera los números de menor a mayor, si desea invertirlo, agregue -Descendiendo .

Cuando canaliza cmdlets a Get-Member, hay más propiedades que la salida predeterminada. Usted selecciona propiedades específicas usando Seleccionar objeto .

Al igual que Sort-Object, usa Select-Object a través de un cmdlet canalizado. Por ejemplo, para generar una tabla de servicios y su estado utilice:

|_+_|

Si bien la salida de todos estos datos es buena, ¿qué sucede si solo desea ver datos específicos? Get-ChildItem tiene algunos filtros integrados, pero la mayoría de los comandos no. En esos casos, usa Objeto donde .

Volviendo a los servicios nuevamente, esta vez solo obtendrá servicios en ejecución. Ingrese el cmdlet:

|_+_|

Ese -eq en la comparación es Powershell para = . En Powershell, realiza comparaciones con combinaciones de letras:

  • eq: igual
  • ne: no es igual
  • lt: menos de
  • gt: mayor que
  • ge: mayor o igual que
  • le: menor o igual que
  • like: use like en las comparaciones de comodines

Ayuda de formato: Format-Table y Format-List.

Para estos diversos cmdlets, la mayor parte del resultado estaba en formatos de tabla. Esto muestra los datos en filas y columnas con encabezados. Para mostrar las entradas enumeradas con sus propiedades individualmente, canalice el cmdlet a Lista de formatos .

A veces tiene una salida que se vuelve demasiado amplia para la ventana de Powershell. Cuando eso sucede, Powershell lo fuerza a una salida de lista. Para asegurarse de mantenerlo en el formato de tabla, canalice su salida a Tabla de formato .

De la línea de comandos a las secuencias de comandos: pasos siguientes

Una vez que se sienta cómodo, la creación de secuencias de comandos es una cuestión de ingresar los cmdlets en un archivo de texto y guardarlo. Si está nervioso por probar las secuencias de comandos, no lo esté. Microsoft tiene una enorme cantidad de documentación sobre cada cmdlet. Esto va más allá de la ya extensa documentación de ayuda, así que asegúrese de consultar Technet [Ya no está disponible].

Si está aprendiendo Powershell, háganos saber en los comentarios qué es lo que más le emociona hacer. Si tiene un poco más de experiencia, nos encantaría escuchar acerca de temas más avanzados que le gustaría ver cubiertos.

Cuota Cuota Pío Correo electrónico Elimine estos archivos y carpetas de Windows para liberar espacio en disco

¿Necesita liberar espacio en el disco de su computadora con Windows? Estos son los archivos y carpetas de Windows que se pueden eliminar de forma segura para liberar espacio en el disco.

Leer siguiente
Temas relacionados
  • Ventanas
  • Programación
  • Potencia Shell
  • Scripting
Sobre el Autor Michael McConnell(44 Artículos publicados)

Michael no usó una Mac cuando estaban condenados, pero puede codificar en Applescript. Tiene títulos en Ciencias de la Computación e Inglés; ha estado escribiendo sobre Mac, iOS y videojuegos desde hace un tiempo; y ha sido un mono de TI durante el día durante más de una década, y se especializó en scripting y virtualización.

Más de Michael McConnell

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse