
Owen Little
0
4270
285
Powershell es una manera perfecta para que un nuevo codificador se inicie en Windows. Powershell es una herramienta de línea de comandos en partes iguales y lenguaje de script. Le brinda la capacidad de automatizar su computadora mediante los mismos comandos que usa para administrarla Símbolo del sistema frente a Windows PowerShell: ¿Cuál es la diferencia? Símbolo del sistema frente a Windows PowerShell: ¿cuál es la diferencia? Los usuarios de Windows pueden pasar sin usar el símbolo del sistema o PowerShell. Pero con Windows 10 y las nuevas características a la vuelta de la esquina, tal vez sea hora de que aprendamos. . Si tiene un sistema moderno de Windows, ya tiene Powershell. La mayoría de sus usos están centrados en Windows, pero puede instalar Powershell en una máquina Mac o Linux Cómo instalar y usar PowerShell en Linux Cómo instalar y usar PowerShell en Linux En 2016, Microsoft PowerShell de código abierto y debutó una iteración multiplataforma . En este artículo, le mostraré cómo instalar, ejecutar y usar PowerShell en Linux. también.
Trabajando con Powershell
Hay dos formas de usar Powershell. Existe la ventana de línea de comando 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, puedes escribir y probar tus 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á haciendo un desarrollo más avanzado, instale Visual Studio Code de Microsoft. El código incluye soporte para el control de versiones de Git. 10 Consejos esenciales de productividad para Visual Studio Code. 10 Consejos esenciales de productividad para Visual Studio Code. Visual Studio Code elimina otros editores de texto de programación. Es gratis, de código abierto, rápido como el rayo y repleto de características de productividad. 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, al usar estos comandos, puede pensar en cómo encadenarlos para crear sus primeros scripts.
Los fundamentos: Get-Command, Get-Help, Get-Member
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.
Al profundizar más allá de los nombres de los cmdlets, comienza a ver que todos tienen una estructura similar. Los invocas por nombre, tal como lo hiciste con Get-Command. El uso de parámetros cambia la información que obtienes. Sin embargo, si alguna vez usó el comando con las opciones predeterminadas, ¿cómo descubre cómo usar los parámetros avanzados??
Utilizando la Consigue ayuda El cmdlet con Get-Command muestra más información sobre el cmdlet. Usamos el cmdlet con la siguiente sintaxis:
Obtener ayuda Obtener comando
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:
Get-Help Get-Command -Examples
Este cmdlet solo devuelve los ejemplos del archivo de ayuda. Estos ejemplos son bastante útiles porque incluyen descripciones. Este texto de ayuda explica qué hacen el cmdlet y los parámetros cuando se ejecutan.
Si desea desplegar el archivo de ayuda en una ventana separada, puede usar -Mostrar ventana. Entonces si corres:
Get-Help Get-Command -ShowWindow
Powershell abre una ventana con el archivo de ayuda completo. No necesita usar el parámetro Completo aquí, ya que la ventana muestra el artículo completo.
A medida que avance con Powershell, descubrirá que usa Get-Member con más frecuencia. Es una manera fácil 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 llamar a esos.
Trabajo 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. Entrar:
Get-ChildItem E: \
Que es la abreviatura de:
Get-ChildItem -Path E: \
Cuando ejecuta este comando, obtiene una lista de archivos con su Tiempo de última escritura, tamaño bajo la propiedad Longitud, Nombre y Modo. El modo son los atributos de un archivo o carpeta AttributeMagic Free: modificar las propiedades del archivo en Windows AttributeMagic Free: modificar las propiedades del archivo en Windows. Las posibles entradas son:
- Solo lectura
- Oculto
- Sistema
- Directorio
- Archivo
- Dispositivo
- Normal
- Temporal
- SparseFile
- ReparsePoint
- Comprimido
- Desconectado
- NotContentIndexed
- Encriptado
Si desea obtener el contenido de todos los subdirectorios en una ruta, desea utilizar el -Recurrir parámetro. Entonces corre:
Get-ChildItem -Path E: \ -Recurse
Sus archivos luego salen como listas separadas para cada carpeta en la ruta.
Para limitar los datos devueltos, puede usar algunos parámetros diferentes: -Expediente, -Oculto, y -Solo lectura. Si está buscando filtrar los nombres del archivo, puede usar comodines en el parámetro Path. Para devolver todos los archivos .doc en un directorio, ingrese:
Get-ChildItem -Path E: \ *. Doc
Nuevamente agregue -recurse si querías todo de las subcarpetas también.
Si desea eliminar un archivo, use:
Remove-Item -Path E: \ OldFile.txt
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 de solo lectura u ocultos, use 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:
Move-Item -Path E: \ * -Destination C: \ FlashDriveArchive
También puede nombrar un solo archivo en -Path para mover solo ese archivo. Para copiar el archivo en lugar de moverlo, utiliza la misma sintaxis con el Elemento de copia cmdlet.
Monitoreo y trabajo con procesos y servicios
Cada usuario de Windows conoce el Administrador de tareas 5 Alternativas poderosas al Administrador de tareas de Windows 5 Alternativas poderosas al Administrador de tareas del Administrador de tareas de Windows sería un mejor nombre para el Administrador de tareas nativo de Windows, ya que solo lo mencionamos para eliminar procesos que no responden. Los administradores de tareas alternativos le permiten administrar sus procesos. . Sin embargo, hay una forma más rápida de ver los procesos que se ejecutan actualmente desde Powershell, Get-Process. Si desea saber qué significan todas las entradas de esta tabla, canalice el comando a Obtener miembro. Ingrese el cmdlet:
Get-Process | Obtener miembro
Get-member genera una lista de métodos y propiedades asociadas con Get-Process. La información en la parte superior es lo que le interesa. Verá que los diversos tipos de memoria tienen alias.
También podemos ver de esta salida que podemos obtener el Producto propiedad para obtener un nombre más amigable para los procesos. Cambiemos el resultado, para que tenga mejor información con la que podamos trabajar:
Get-Process | Producto de selección de objetos, NPM, CPU, nombre, ID | Ordenar-Objeto CPU -Descendiente
(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á masticando todos sus recursos, busque la ID en el comando anterior. Entonces corre:
Stop-Process -ID 45960
Reemplazar 49560 con la identificación de tu cerdo de recursos.
Con la ruta del archivo, puede iniciar un proceso con Powershell. Para iniciar Chrome, ejecute el siguiente comando:
Start-Process -Filepath "C: \ Archivos de programa (x86) GoogleChromeApplicationchrome.exe"
(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 comandos a la aplicación. En el caso de Chrome, puede forzarlo a iniciarse en modo de incógnito utilizando el -incógnito bandera. El cmdlet completo es:
Inicio-Proceso -Filepath "C: \ Archivos de programa (x86) GoogleChromeApplicationchrome.exe" -ArgumentList "--incognito"
Puede hacer la mayoría de estas mismas cosas con los servicios Cómo controlar los servicios en ejecución con el comando SC [Windows] Cómo controlar los servicios en ejecución con el comando SC [Windows] Una de las cosas que me encuentro haciendo con mucha más frecuencia desde que me sumergí en TI es monitorear y verificar el estado de los servicios que se ejecutan en computadoras que se ejecutan en toda la empresa. Ahi esta… . Obtener servicio le muestra una lista de todos los servicios que se ejecutan en su computadora. Lo mismo con los servicios de inicio y detención, puede usar Empieza el servicio y Parada de servicio.
Trabajando con datos: Ordenar-Objeto, Seleccionar-Objeto, Dónde-Objeto
Cuando trabaja con los datos de un cmdlet, puede 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 ordenamos. Creemos una matriz de tres números aleatorios y canalícelos a Sort-Object.
Cualquier cosa entre paréntesis se ejecuta primero. Crea una matriz simple con:
$ (Get-Random), $ (Get-Random), $ (Get-Random)
Asegúrese de notar las comas que separan los valores. Entonces, para ver los números aleatorios ordenados:
$ (Get-Random), $ (Get-Random), $ (Get-Random) | Ordenar-Objeto
El cmdlet genera los números de menor a mayor, si desea revertirlo agregue -Descendente.
Cuando canaliza cmdlets a Get-Member, hay más propiedades que la salida predeterminada. Selecciona propiedades específicas utilizando Seleccionar objeto.
Al igual que Sort-Object, usa Select-Object a través de un cmdlet entubado. Por ejemplo, para generar una tabla de servicios y su uso de estado:
Obtener servicio | Select-Object DisplayName, Estado
Si bien generar todos estos datos es bueno, ¿qué sucede si solo desea ver datos específicos? Get-ChildItem tiene un filtrado incorporado, pero la mayoría de los comandos no. En esos casos, usas Donde-Objeto.
Volviendo a los servicios nuevamente, esta vez solo obtendrá servicios en ejecución. Ingrese el cmdlet:
Obtener servicio | Where-Object Status -eq "Ejecutando"
Ese -eq en la comparación es Powershell para =. En Powershell, realiza comparaciones con combinaciones de letras:
- eq: igual
- ne: no igual
- lt: menos de
- gt: mayor que
- ge: mayor o igual que
- le: menor o igual que
- like: use like en las comparaciones con comodines
Ayuda de formato: Format-Table y Format-List.
Para estos diversos cmdlets, la mayor parte de la salida estaba en formatos de tabla. Esto muestra los datos en filas y columnas con encabezados. Para mostrar entradas enumeradas con sus propiedades individualmente, canalice el cmdlet a Lista de formato.
A veces tiene una salida que se amplía demasiado 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 Mesa de formato.
De la línea de comandos a las secuencias de comandos: próximos pasos
Una vez que se sienta cómodo, las secuencias de comandos son cuestión de ingresar a los cmdlets. Aumente su productividad con los scripts de Windows PowerShell Aumente su productividad con los scripts de Windows PowerShell ¿Qué pasaría si pudiera llevar la productividad de Linux a Windows? La mayoría de las distribuciones de Linux vienen empaquetadas con el poderoso shell Bash. PowerShell es un terminal igualmente poderoso para Windows. en un archivo de texto y guardarlo. Si estás nervioso por probar las secuencias de comandos, no lo estés. Microsoft tiene una enorme cantidad de documentación en 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 entusiasma hacer. Si tiene un poco más de experiencia, nos encantaría saber sobre temas más avanzados que le gustaría ver cubiertos..