{"id":72966,"date":"2020-03-06T08:42:03","date_gmt":"2020-03-06T05:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti"},"modified":"2020-03-06T08:42:03","modified_gmt":"2020-03-06T05:42:03","slug":"chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","title":{"rendered":"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Hist\u00f3ricamente, las utilidades de l\u00ednea de comandos en sistemas Unix han estado m\u00e1s desarrolladas que en Windows, sin embargo, con la llegada de nuevas soluciones, la situaci\u00f3n ha cambiado.<\/i><\/p>\n<p>Windows PowerShell permite a los administradores del sistema automatizar la mayor\u00eda de las tareas rutinarias. Con ella, se pueden cambiar configuraciones, detener y iniciar servicios, as\u00ed como mantener la mayor\u00eda de las aplicaciones instaladas. Considerar la ventana azul como otro int\u00e9rprete de comandos ser\u00eda un error. Este enfoque no refleja la esencia de las innovaciones propuestas por Microsoft. En realidad, las capacidades de Windows PowerShell son mucho m\u00e1s amplias: en una breve serie de art\u00edculos intentaremos desglosar en qu\u00e9 se diferencia la soluci\u00f3n de Microsoft de las herramientas m\u00e1s familiares.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/487876\/\"><img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/57911997d520dd5eeef9d87ddcecb125.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Principales caracter\u00edsticas\u00a0<\/h2>\n<p>\nPor supuesto, Windows PowerShell es ante todo una consola de comandos con un lenguaje de scripting, originalmente creada sobre la plataforma .NET Framework y m\u00e1s tarde sobre .NET Core. A diferencia de las consolas que reciben y devuelven datos de texto, Windows PowerShell trabaja con clases de .NET, que tienen propiedades y m\u00e9todos. PowerShell permite ejecutar comandos comunes y tambi\u00e9n proporciona acceso a objetos COM, WMI y ADSI. Utiliza varios almacenes, como el sistema de archivos o el registro de Windows, para los cuales se han creado lo que se conoce como proveedores. Es importante destacar la posibilidad de incrustar componentes ejecutables de PowerShell en otras aplicaciones para realizar diversas operaciones, incluso a trav\u00e9s de una interfaz gr\u00e1fica. De manera inversa, muchas aplicaciones para Windows ofrecen acceso a sus interfaces de control a trav\u00e9s de PowerShell.\u00a0<\/p>\n<p>Windows PowerShell permite:<\/p>\n<ul>\n<li>Cambiar configuraciones del sistema operativo;<\/li>\n<li>Gestionar servicios y procesos;<\/li>\n<li>Configurar roles y componentes del servidor;<\/li>\n<li>Instalar software;<\/li>\n<li>Gestionar software instalado a trav\u00e9s de interfaces especiales;<\/li>\n<li>Incrustar componentes ejecutables en programas externos;<\/li>\n<li>Crear scripts para automatizar tareas de administraci\u00f3n;<\/li>\n<li>Trabajar con el sistema de archivos, el registro de Windows, el almac\u00e9n de certificados, etc.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Consola y entorno de desarrollo<\/h2>\n<p>\nExisten dos formas de Windows PowerShell: adem\u00e1s del emulador de consola con `command shell`, hay un entorno de scripting integrado (Integrated Scripting Environment \u2014 ISE). Para acceder a la interfaz de l\u00ednea de comandos, basta con seleccionar el acceso directo correspondiente en el men\u00fa de Windows o ejecutar `powershell.exe` desde el men\u00fa `Ejecutar`. Aparecer\u00e1 una ventana azul que se diferencia notablemente en capacidades del anticuado `cmd.exe`. All\u00ed hay autocompletado y otras caracter\u00edsticas familiares para los usuarios de interfaces de l\u00ednea de comandos de sistemas Unix.<\/p>\n<p><img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/2b2d6fa0a82530ddedc7c106160a883e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Para trabajar con la consola, hay que recordar algunas combinaciones de teclas:<\/p>\n<ul>\n<li>Las flechas hacia arriba y hacia abajo navegan por el historial para repetir comandos previamente introducidos;<\/li>\n<li>La flecha hacia la derecha al final de la l\u00ednea vuelve a escribir el comando anterior car\u00e1cter por car\u00e1cter;<\/li>\n<li>Ctrl+Home elimina el texto escrito desde la posici\u00f3n del cursor hasta el inicio de la l\u00ednea;<\/li>\n<li>Ctrl+End elimina el texto desde el cursor hasta el final de la l\u00ednea.<\/li>\n<\/ul>\n<p>\nF7 muestra una ventana con los comandos ingresados y permite seleccionar uno de ellos. Tambi\u00e9n se puede seleccionar texto con el rat\u00f3n, copiar y pegar, posicionar el cursor, eliminar, backspace: todo como a nosotros nos gusta.<\/p>\n<p><img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/217b3584c4ffbbfaea8f4fcd97512505.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nWindows PowerShell ISE es un entorno de desarrollo completo con un editor de c\u00f3digo que soporta pesta\u00f1as y resaltado de sintaxis, un constructor de comandos, un depurador integrado y otras alegr\u00edas para programadores. Si en el editor del entorno de desarrollo escribes un guion despu\u00e9s del nombre del comando, obtendr\u00e1s en el men\u00fa desplegable todos los par\u00e1metros disponibles con la indicaci\u00f3n del tipo. Se puede iniciar PowerShell ISE ya sea a trav\u00e9s del acceso directo en el men\u00fa del sistema o mediante el archivo ejecutable `powershell_ise.exe`.<\/p>\n<p><img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/f80df64ede3d89759757c87709d62155.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Cmdlets\u00a0<\/h2>\n<p>\nEn Windows PowerShell han aparecido los llamados cmdlets. Son clases especializadas de .NET que incorporan diversas funcionalidades. Se nombran seg\u00fan el principio \"Acci\u00f3n-Objeto\" (o \"Verbo-Sustantivo\", si te parece mejor), y la conexi\u00f3n separada por un guion recuerda al predicado y al sujeto en las oraciones de los lenguajes naturales. Por ejemplo, Get-Help significa literalmente \"Obtener-Ayuda\" o en el contexto de PowerShell: \"Mostrar-Ayuda\". En esencia, es an\u00e1logo al comando man en sistemas Unix y se deben solicitar los manuales en PowerShell de esta manera, en lugar de invocar cmdlets con la opci\u00f3n --help o \/?. No olvides la documentaci\u00f3n en l\u00ednea sobre PowerShell: la de Microsoft es bastante detallada.<\/p>\n<p>Adem\u00e1s de Get, se utilizan otros verbos (y no solo verbos, estrictamente hablando) en los cmdlets para denotar acciones. A continuaci\u00f3n, presentamos algunos ejemplos:<\/p>\n<p><code>Agregar<\/code> \u2014 agregar;<br \/>\n<code>Limpiar<\/code> \u2014 limpiar;<br \/>\n<code>Enable<\/code> \u2014 activar;<br \/>\n<code>Desactivar<\/code> \u2014 desactivar;<br \/>\n<code>Nuevo<\/code> \u2014 crear;<br \/>\n<code>Eliminar<\/code> \u2014 eliminar;<br \/>\n<code>Establecer<\/code> \u2014 establecer;<br \/>\n<code>Iniciar<\/code> \u2014 iniciar;<br \/>\n<code>Stop<\/code> \u2014 detener;<br \/>\n<code>Exportar<\/code> \u2014 exportar;<br \/>\n<code>Importar<\/code> \u2014 importar.<\/p>\n<p>Hay cmdlets del sistema, cmdlets de usuario y cmdlets opcionales: como resultado de la ejecuci\u00f3n, todos ellos devuelven un objeto o una matriz de objetos. No son sensibles a las may\u00fasculas, es decir, para el int\u00e9rprete de comandos no hay diferencia entre Get-Help y get-help. Se utiliza el s\u00edmbolo ';' para separarlos, pero debe utilizarse solo si se ejecutan varios cmdlets en una misma l\u00ednea.\u00a0<\/p>\n<p>Los cmdlets de Windows PowerShell se agrupan en m\u00f3dulos (NetTCPIP, Hyper-V, etc.), y existe el cmdlet Get-Command para buscar por objeto y acci\u00f3n. La ayuda sobre este cmdlet se puede mostrar as\u00ed:<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/394c5af2fa8183b22403848f07756118.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Por defecto, el comando muestra una breve ayuda, pero se pueden pasar par\u00e1metros (argumentos) a los cmdlets cuando sea necesario. Con estos par\u00e1metros, por ejemplo, se puede obtener una ayuda detallada (par\u00e1metro -Detailed) o completa (par\u00e1metro -Full), as\u00ed como mostrar ejemplos en pantalla (par\u00e1metro -Examples):<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command -Examples<\/code><\/pre>\n<p>\nLa ayuda en Windows PowerShell se actualiza con el cmdlet Update-Help. Si la cadena de comandos es demasiado larga, los argumentos del cmdlet se pueden trasladar a la siguiente l\u00ednea, escribiendo el s\u00edmbolo de escape '`' y presionando Enter; simplemente terminar de escribir un comando en una l\u00ednea y continuar en otra no funcionar\u00e1.<\/p>\n<p>A continuaci\u00f3n, presentamos algunos ejemplos de cmdlets comunes:\u00a0<\/p>\n<p><code>Get-Process<\/code> \u2014 mostrar los procesos en ejecuci\u00f3n en el sistema;<br \/>\n<code>Get-Service<\/code> \u2014 mostrar servicios y su estado;<br \/>\n<code>Get-Content<\/code> \u2014 mostrar el contenido de un archivo.<\/p>\n<p>Para los cmdlets y utilidades externas que se usan con frecuencia en Windows PowerShell, hay sin\u00f3nimos cortos \u2014 alias (del ingl\u00e9s Alias). Por ejemplo, dir es el alias de Get-ChildItem. La lista de sin\u00f3nimos tambi\u00e9n incluye an\u00e1logos de comandos de sistemas Unix (ls, ps, etc.), y el cmdlet Get-Help se invoca con el comando help. Se puede ver la lista completa de sin\u00f3nimos mediante el cmdlet Get-Alias:<\/p>\n<p><img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/94f8cf9fd6c346e5b250d994ef1f7661.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Scripts, funciones, m\u00f3dulos y el lenguaje PowerShell<\/h2>\n<p>\nLos scripts de Windows PowerShell se guardan como archivos de texto simples con la extensi\u00f3n .ps1. No se pueden ejecutar haciendo doble clic: es necesario hacer clic derecho para abrir el men\u00fa contextual y seleccionar la opci\u00f3n \u00abEjecutar en PowerShell\u00bb. Desde la consola, se debe indicar la ruta completa al script o cambiar al directorio correspondiente y escribir el nombre del archivo. La ejecuci\u00f3n de scripts tambi\u00e9n est\u00e1 limitada por la pol\u00edtica del sistema, y para verificar la configuraci\u00f3n actual se puede utilizar el cmdlet Get-ExecutionPolicy, que devolver\u00e1 uno de los siguientes valores: <\/p>\n<p><code>Restricted<\/code> \u2014 la ejecuci\u00f3n de scripts est\u00e1 prohibida (por defecto);<br \/>\n<code>AllSigned<\/code> \u2014 solo se permite la ejecuci\u00f3n de scripts firmados por un desarrollador de confianza;<br \/>\n<code>RemoteSigned<\/code> \u2014 se permite la ejecuci\u00f3n de scripts firmados y propios;<br \/>\n<code>Unrestricted<\/code> \u2014 se permite la ejecuci\u00f3n de cualquier script.<\/p>\n<p>El administrador tiene dos opciones. La m\u00e1s segura implica firmar los scripts, pero esto es un proceso bastante complejo que abordaremos en art\u00edculos futuros. Ahora tomaremos el camino de menor resistencia y cambiaremos la pol\u00edtica:<\/p>\n<pre><code class=\"powershell\">Set-ExecutionPolicy RemoteSigned<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/139949e0da3470b866d4b54f3e2a0498.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPowerShell deber\u00e1 ser ejecutado como administrador para esto, aunque con un par\u00e1metro especial se puede cambiar la pol\u00edtica tambi\u00e9n para el usuario actual.<\/p>\n<p>Los scripts se escriben en un lenguaje de programaci\u00f3n orientado a objetos, cuyas \u00f3rdenes se nombran de la misma manera que los cmdlets discutidos anteriormente: \u00abAcci\u00f3n-Objeto\u00bb (\u00abVerbo-Sustantivo\u00bb). Su principal objetivo es la automatizaci\u00f3n de tareas administrativas, pero es un lenguaje interpretado completo que incluye todas las construcciones necesarias: condicionales, bucles, variables, arreglos, objetos, manejo de errores, etc. Se puede utilizar cualquier editor de texto para escribir scripts, pero es m\u00e1s conveniente iniciar Windows PowerShell ISE.<\/p>\n<p>Se pueden pasar par\u00e1metros al script, hacerlos obligatorios, y tambi\u00e9n establecer valores predeterminados. Adem\u00e1s, Windows PowerShell permite crear funciones y llamarlas de la misma manera que los cmdlets; para ello se utiliza la construcci\u00f3n Function y llaves. Un script con funciones se llama m\u00f3dulo y tiene la extensi\u00f3n .psm1. Los m\u00f3dulos deben almacenarse en directorios definidos en las variables de entorno de PowerShell. Se pueden ver mediante el siguiente comando:<\/p>\n<pre><code class=\"powershell\">Get-ChildItem Env:PSModulePath | Format-Table -AutoSize<\/code><\/pre>\n<p><\/p>\n<h2>Conveyores<\/h2>\n<p>\nEn el \u00faltimo ejemplo hemos aplicado una estructura familiar para los usuarios de shells de sistemas Unix. En Windows PowerShell, la barra vertical tambi\u00e9n permite pasar la salida de un comando a la entrada de otro, pero hay una diferencia significativa en la implementaci\u00f3n del canal: aqu\u00ed ya no se trata de un conjunto de caracteres o de alg\u00fan texto. Los cmdlets integrados o las funciones personalizadas devuelven objetos o matrices de objetos, y tambi\u00e9n pueden recibirlos como entrada. Al igual que en Bourne shell y sus numerosos seguidores, en PowerShell se simplifica la ejecuci\u00f3n de tareas complejas mediante el canal.<\/p>\n<p>El ejemplo m\u00e1s simple de un canal se ve as\u00ed:<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/0bb6e0e00d97d23fa2384d40c7419d71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPrimero se ejecuta el cmdlet Get-Service, y luego todos los servicios recibidos se pasan a ordenar por la propiedad Status al cmdlet Sort-Object. A qu\u00e9 argumento se pasa el resultado del trabajo del segmento anterior del canal depende de su tipo: generalmente es InputObject. Este tema se tratar\u00e1 m\u00e1s a fondo en un art\u00edculo dedicado al lenguaje de programaci\u00f3n PowerShell.\u00a0<\/p>\n<p>Si se desea, se puede continuar la cadena y pasar el resultado del trabajo de Sort-Object a otro cmdlet (se ejecutar\u00e1n de izquierda a derecha). Por cierto, a los usuarios de Windows tambi\u00e9n les resulta familiar la construcci\u00f3n para salida paginada:\u00a0<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status | more<\/code><\/pre>\n<p><\/p>\n<h2>Ejecuci\u00f3n de tareas en segundo plano\u00a0<\/h2>\n<p>\nA menudo es necesario ejecutar alg\u00fan comando en segundo plano para no esperar el resultado de su ejecuci\u00f3n en la sesi\u00f3n de la shell. En Windows PowerShell hay varios cmdlets para tal caso:<\/p>\n<p><code>Start-Job<\/code> \u2014 iniciar una tarea en segundo plano;<br \/>\n<code>Stop-Job<\/code> \u2014 detener una tarea en segundo plano;<br \/>\n<code>Get-Job<\/code> \u2014 ver la lista de tareas en segundo plano;<br \/>\n<code>Receive-Job<\/code> \u2014 ver el resultado de la ejecuci\u00f3n de una tarea en segundo plano;<br \/>\n<code>Remove-Job<\/code> \u2014 eliminar una tarea en segundo plano;<br \/>\n<code>Wait-Job<\/code> \u2014 llevar una tarea en segundo plano de vuelta a la consola.<\/p>\n<p>Para iniciar una tarea en segundo plano, utilizamos el cmdlet Start-Job y entre llaves especificamos el comando o conjunto de comandos:<\/p>\n<pre><code class=\"powershell\">Start-Job {Get-Service}<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/0a75c1f4af75e5aec66df909ca4adb70.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLas tareas en segundo plano en Windows PowerShell se pueden manipular conociendo sus nombres. Para empezar, aprendamos a mostrarlas:<\/p>\n<pre><code class=\"powershell\">Get-Job<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/664dba26ddcfb54bef79717c86f3c8ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAhora mostremos el resultado del trabajo de la tarea Job1:<\/p>\n<pre><code class=\"powershell\">Receive-Job Job1 | more<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/02d930327929af463cf506f9d90357e6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nEs bastante simple.<\/p>\n<h2>Ejecuci\u00f3n remota de comandos<\/h2>\n<p>\nWindows PowerShell permite ejecutar comandos y scripts no solo en la m\u00e1quina local, sino tambi\u00e9n en una m\u00e1quina remota e incluso en un grupo completo de m\u00e1quinas. Para esto, existen varias formas:<\/p>\n<ul>\n<li>Muchos cmdlets tienen el par\u00e1metro <code>-ComputerName<\/code>, pero de esa manera no se puede crear un pipeline, por ejemplo;<\/li>\n<li>El cmdlet <code>Enter-PSSession<\/code> permite crear una sesi\u00f3n interactiva en una m\u00e1quina remota;\u00a0<\/li>\n<li>Con el cmdlet <code>Invoke-Command<\/code> puedes ejecutar comandos o scripts en una o varias computadoras remotas.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Versiones de PowerShell<\/h2>\n<p>\nDesde su primer lanzamiento en 2006, PowerShell ha cambiado considerablemente. La herramienta est\u00e1 disponible para muchos sistemas que operan en diferentes plataformas de hardware (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008\/2008 R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012\/2012 R2, Windows 10, Windows Server 2016, GNU\/Linux y OS X. La \u00faltima versi\u00f3n 6.2 fue lanzada el 10 de enero de 2018. Los scripts escritos para versiones anteriores funcionar\u00e1n con alta probabilidad en versiones m\u00e1s recientes, pero podr\u00edan surgir problemas con la retrocompatibilidad, ya que a lo largo de los a\u00f1os se han agregado muchos cmdlets nuevos a PowerShell. Puedes averiguar la versi\u00f3n del shell de comandos instalado en tu computadora utilizando la propiedad PSVersion de la variable integrada $PSVersionTable:<\/p>\n<pre><code class=\"powershell\">$PSVersionTable.PSVersion<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/c2d422d1489f88ef8631ee82cc2f60c8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTambi\u00e9n se puede usar el cmdlet:<\/p>\n<pre><code class=\"powershell\">Get-Variable -Name PSVersionTable \u2013ValueOnly<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/5cffcfe260243235e8f91a6c543191f7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLo mismo se hace usando el cmdlet Get-Host. De hecho, hay m\u00faltiples opciones, pero para utilizarlas necesitas estudiar el lenguaje de programaci\u00f3n PowerShell, lo cual haremos en <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/490924\/\"><b>el pr\u00f3ximo art\u00edculo<\/b><\/a><\/noindex>.\u00a0<\/p>\n<h2>Resultados\u00a0<\/h2>\n<p>\nA Microsoft le ha logrado crear un shell de comandos realmente potente con un entorno integrado f\u00e1cil de usar para desarrollar scripts. A diferencia de las herramientas familiares del mundo Unix, se caracteriza por su profunda integraci\u00f3n con los sistemas operativos de la familia Windows, as\u00ed como con el software para ellos y la plataforma .NET Core. PowerShell se puede considerar un shell orientado a objetos, ya que los cmdlets y las funciones de usuario devuelven objetos o matrices de objetos y pueden recibirlos como entrada. Creemos que todos los administradores de servidores en Windows deben dominar esta herramienta: ha pasado el tiempo en que pod\u00edan prescindir de la l\u00ednea de comandos. Un shell de consola avanzado es especialmente necesario en <noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/marketplace\/servercore#order\">nuestros VPS econ\u00f3micos que funcionan con Windows Server Core<\/a><\/noindex>, pero esa ya es otra historia.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales\" src=\"\/wp-content\/uploads\/2020\/03\/0683e52726ae6d7def7206e5974a74b2.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Solo los usuarios registrados pueden participar en la encuesta. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Inicie sesi\u00f3n<\/a><\/noindex>, por favor.<\/p>\n<h2 class=\"default-block__polling-title\">\u00bfQu\u00e9 temas deber\u00edan abordarse primero en los pr\u00f3ximos art\u00edculos de la serie?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">53,2%<\/strong>Programaci\u00f3n en PowerShell123<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">42,4%<\/strong>Funciones y m\u00f3dulos de PowerShell98<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">22,1%<\/strong>\u00bfC\u00f3mo firmar tus propios scripts?51<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">12,1%<\/strong>Trabajando con almacenes a trav\u00e9s de proveedores (providers)28<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">57,6%<\/strong>Automatizaci\u00f3n de la administraci\u00f3n de computadoras con PowerShell133<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">30,7%<\/strong>Gesti\u00f3n de software e integraci\u00f3n de componentes ejecutables de PowerShell en productos de terceros71<\/p>\n<\/li>\n<\/ul>\n<p>    Votaron 231 usuarios. 37 usuarios se abstuvieron.<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/487876\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0440\u0443\u0442\u0438\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u0421 \u0435\u0435 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u0438\u043d\u0435\u0435 \u043e\u043a\u043e\u0448\u043a\u043e \u043a\u0430\u043a \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":72967,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-72966","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Windows PowerShell \u0438 \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442? \u0427\u0430\u0441\u0442\u044c 1: \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-06T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-06T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00bfQu\u00e9 es Windows PowerShell y para qu\u00e9 se utiliza? Parte 1: caracter\u00edsticas principales | ProHoster","description":"Hist\u00f3ricamente, las utilidades de l\u00ednea de comandos en los sistemas Unix est\u00e1n m\u00e1s desarrolladas que en Windows, sin embargo, con la llegada de una nueva soluci\u00f3n, la situaci\u00f3n ha cambiado. Windows PowerShell permite a los administradores del sistema.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Windows PowerShell \u0438 \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442? \u0427\u0430\u0441\u0442\u044c 1: \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 | ProHoster","og:description":"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-06T05:42:03+00:00","article:modified_time":"2020-03-06T05:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"72966","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:42:52","updated":"2026-08-11 12:50:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/72966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=72966"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/72966\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/72967"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=72966"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=72966"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=72966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}