Windows Server 2025 trae una experiencia PowerShell renovada. El motor 2.0 heredado ha desaparecido, WinGet viene preinstalado en las ediciones Desktop Experience, Windows Terminal está en la caja y nuevos cmdlets cubren GPU Particionamiento y SMB sobre QUIC en todas las ediciones. Esta guía rápida recopila los comandos que usamos a diario, organizados por categoría, prestando especial atención a las novedades de 2025.
PowerShell en Windows Server 2025: ¿Qué ha cambiado?
Windows PowerShell 5.1 sigue siendo el shell predeterminado en Windows Server 2025 y se envía con el sistema preinstalado. La gran noticia es la eliminación del sistema heredado. Windows Motor PowerShell 2.0. A partir del lanzamiento de septiembre de 2025, los scripts que soliciten explícitamente la versión 2 volverán al entorno de ejecución predeterminado, generalmente la versión 5.1. Cualquier instalador o tarea programada que dependiera del motor 2.0 necesita actualizarse.
PowerShell 7.x se distribuye por separado, y Server 2025 facilita la instalación como nunca antes. WinGet ahora viene incluido con la versión Desktop Experience, lo que permite instalar la última versión de PowerShell con un solo comando. Server Core no incluye WinGet; en esos sistemas, utilizamos el paquete MSI o ZIP.
$PSVersionTable
winget install --id Microsoft.PowerShell --source winget
El primer comando imprime la versión y edición del motor. El segundo instala PowerShell 7 junto con la versión 5.1; el ejecutable se convierte en pwsh.exe. Si queremos una instalación limpia Windows Server Entorno de pruebas 2025 sin tocar la producción, un Windows VPS Nos proporciona un ambiente fresco en cuestión de minutos.
Información del sistema
Recopilación rápida de datos sobre un servidor 2025 recién configurado:
Get-ComputerInfo | Select-Object WindowsProductName, OsVersion, CsName
Get-CimInstance Win32_OperatingSystem |
Select-Object Caption, BuildNumber, LastBootUpTime
Rename-Computer -NewName "FS-01" -Restart
Get-ComputerInfo proporciona una instantánea completa, aunque es lento. Get-CimInstance es el reemplazo moderno para las llamadas WMI antiguas. Rename-Computer reinicia el host inmediatamente cuando agregamos -Restart.
Archivos, carpetas y contenido
Get-ChildItem -Path C:\Logs -Recurse -Filter *.log
New-Item -Path C:\Backups -ItemType Directory
Copy-Item C:\Reports\report.pdf D:\Archive\ -Force
Remove-Item C:\Logs\*.bak -Confirm:$false
Get-Content C:\Logs\app.log -Tail 50 -Wait
Test-Path C:\Reports\Q4
La combinación -Tail 50 -Wait se comporta como Linux tail -f. Test-Path devuelve un valor booleano para comprobar si existen errores dentro de los scripts.
Procesos y servicios
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
Stop-Process -Name notepad -Force
Get-Service | Where-Object Status -eq "Running"
Restart-Service -Name Spooler -Force
Set-Service -Name BITS -StartupType Automatic
El método Set-Service -StartupType acepta Automatic, Manual, Disabled y AutomaticDelayedStart. El patrón Where-Object filtra los servicios o procesos según cualquier propiedad.
Redes y Firewall
Los cmdlets modernos han reemplazado en gran medida la memoria muscular que teníamos antes con los comandos netsh e ipconfig.
Get-NetIPAddress -AddressFamily IPv4
Get-NetAdapter | Where-Object Status -eq "Up"
Test-NetConnection -ComputerName fileserver.local -Port 445
Resolve-DnsName serverspace.io
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound `
-Protocol TCP -LocalPort 80 -Action Allow
Test-NetConnection combina ping, tracert y una comprobación de puerto TCP. El acento grave indica que se ha añadido un salto de línea.
Usuarios, grupos y Active Directory
Las cuentas locales utilizan el módulo LocalAccounts, que viene preinstalado. En entornos de dominio, el módulo ActiveDirectory se distribuye a través de RSAT. Server 2025 introdujo el nivel funcional Win2025, que impone la firma y el cifrado LDAP, desactiva RC4 en favor de AES y establece TLS 1.3 como predeterminado.
New-LocalUser -Name "svc-backup" -Password (Read-Host -AsSecureString)
Add-LocalGroupMember -Group "Administrators" -Member "svc-backup"
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName "corp.contoso.com" `
-ForestMode Win2025 -DomainMode Win2025
Get-ADUser -Filter * -Properties LastLogonDate
Get-ADDomainController -Filter *
Leer la contraseña como una cadena segura en la solicitud evita dejar credenciales en texto plano en los archivos de script. El modo de bosque Win2025 desbloquea la nueva configuración predeterminada de identidad; la configuramos explícitamente durante la creación del bosque.
Roles, características y WinGet
Get-WindowsFeature | Where-Object InstallState -eq "Installed"
|
El comando winget upgrade --all es lo más parecido. Windows Server tiene que actualizarse apt. WinGet en el servidor es solo Experiencia de escritorio; los administradores de Server Core todavía dependen de Install-WindowsCaracterística.
Hyper-V y GPU Particionamiento (Novedad en 2025)
Hyper-V en Server 2025 recibió algunas de las actualizaciones más importantes de la versión. La escalabilidad aumentó a 4 PB de memoria del host, 240 TB por máquina virtual y 2,048 procesadores virtuales por máquina virtual. GPU Particionamiento (GPU-P) ahora es totalmente compatible con la migración en vivo en escenarios en clúster.
Get-VM
New-VM -Name "WEB-01" -MemoryStartupBytes 4GB -Generation 2
Set-VMProcessor -VMName "WEB-01" -Count 4
Add-VMNetworkAdapter -VMName "WEB-01" -SwitchName "vSwitch01"
Start-VM -Name "WEB-01"
GPU La partición divide un único espacio físico. GPU a través de múltiples máquinas virtuales mediante SR-IOV, con cada partición aislada por hardware. Configuramos el número de particiones en el host y luego adjuntamos una partición a cada máquina virtual que lo necesite. GPU aceleración.
$gpu = Get-VMHostPartitionableGpu
Set-VMHostPartitionableGpu -Name $gpu.Name -PartitionCount 4
Add-VMGpuPartitionAdapter -VMName "AI-WORKER-01"
Get-VMGpuPartitionAdapter -VMName "AI-WORKER-01" |
Format-List InstancePath, PartitionId
El host necesita SR-IOV habilitado en el firmware, proveedor vGPU controladores (NVIDIA vGPU 18.x o posterior para migración en vivo), y el rol Hyper-V activo. Migración en vivo de GPU-Las máquinas virtuales adjuntas requieren Server 2025 Datacenter en un clúster de conmutación por error.
Acciones de pymes y pymes frente a QUIC (Novedad en 2025)
Anteriormente, la compatibilidad con SMB a través de QUIC estaba restringida a la edición Azure. Server 2025 la pone a disposición en todas las ediciones, incluida la Standard. QUIC crea un túnel cifrado TLS 1.3 a través del puerto UDP 443, por lo que el tráfico SMB no necesita exponer el puerto TCP/445 a internet.
Install-WindowsFeature -Name FS-FileServer -IncludeManagementTools
New-SmbShare -Name "Projects" -Path "D:\Data\Projects" `
-FullAccess "Domain\Admins"
$cert = Get-ChildItem Cert:\LocalMachine\My |
Where-Object Subject -Match "fileserver.contoso.com"
New-SmbServerCertificateMapping -Name "fileserver.contoso.com" `
-Thumbprint $cert.Thumbprint -StoreName My
Set-SmbServerConfiguration -EnableSMBQUIC $true
Grant-SmbClientAccessToServer -Name "fileserver" `
-IdentifierType SHA256 -Identifier $clientHash
Para habilitar QUIC se requiere un certificado de servidor TLS almacenado en Cert:\LocalMachine\My. El control de acceso de cliente mediante Grant-SmbClientAccessToServer es una novedad de 2025 y nos proporciona listas de permitidos por cliente basadas en la identidad del certificado.
Trabajo remoto y tareas programadas
Enable-PSRemoting -Force
Enter-PSSession -ComputerName SRV-DC01
Invoke-Command -ComputerName SRV-DC01 -ScriptBlock { Get-Service DNS }
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
-Argument "-File C:\Scripts\Backup.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At 2am
Register-ScheduledTask -TaskName "DailyBackup" `
-Action $action -Trigger $trigger -RunLevel Highest
Enable-PSRemoting configura WinRM y abre el firewall. Invoke-Command es más rápido para consultas remotas puntuales; New-PSSession es la opción adecuada para ejecutar varios comandos en el mismo destino. El indicador -RunLevel Highest ejecuta la tarea programada con privilegios elevados.
Tabla de referencia rápida
| Categoría | Task | Comando |
|---|---|---|
| Ayuda | Buscar un cmdlet | Get-Command *usuario* |
| Sistema | Compilación y versión del sistema operativo | Obtener información de la computadora |
| Archivos | Enumerar recursivamente | Obtener-elemento-hijo -Recursivo |
| Proceso | arriba CPU CONSUMIDORES | Obtener-Proceso | Ordenar CPU -desc |
| Servicio | Reiniciar un servicio | Reiniciar el servicio de cola de impresión |
| Network | Prueba un puerto | Prueba de conexión de red - Puerto 445 |
| Firewall | Permitir puerto entrante | Nueva redFirewallRegla ... |
| Usuarios | Agregar administrador local | Agregar miembro del grupo local ... |
| AD | Instalar bosque (Win2025) | Instalar-ADDSForest -ForestMode Win2025 |
| Roles | Agregar IIS | InstallWindowsServidor web de funciones |
| Hyper-V | Crear máquina virtual | Nuevo-VM -Nombre ... |
| GPU-P (2025) | Adjuntar partición | Agregar adaptador de partición VMGpu |
| QUIC para PYMES (2025) | Habilitar QUIC | Set-SmbServerConfiguration -EnableSMBQUIC $true |
| Remoto | Ejecutar comando remoto | Invoke-Command -ComputerName ... |
Errores comunes
La política de ejecución bloquea los scripts. El servidor tiene por defecto RemoteSigned, que rechaza el código escrito localmente a menos que ajustemos el ámbito con Set-ExecutionPolicy RemoteSigned -Scope LocalMachine. Los alias como ls, cp y rm están bien en el indicador; en el código confirmado usamos nombres de cmdlets completos. Los cmdlets de AD no existen hasta que ejecutamos Install-WindowsCaracterística RSAT-AD-PowerShell.
Conclusión
Esta guía rápida abarca los cmdlets de uso diario, además de las importantes novedades de 2025: GPU Particionamiento, SMB sobre QUIC en todas las ediciones, el nivel funcional Win2025 y WinGet en el servidor. Guarda esta página en tus marcadores, instala PowerShell 7 junto con la versión 5.1 predeterminada y revisa cualquier script antiguo que aún haga referencia al motor 2.0 eliminado.