Búsqueda de sitios web

Comandos básicos para configurar y administrar Windows Server Core


En este artículo, traté de describir los comandos básicos de cmd y PowerShell que se usan para configurar y administrar Windows Server Core. Creo que esta guía será útil tanto para principiantes como para administradores de sistemas experimentados como referencia a los comandos básicos de administración de Server Core.

Server Core es un modo especial de instalación de Windows Server sin la mayoría de las herramientas gráficas y complementos. Puede administrar Server Core desde el símbolo del sistema o de forma remota (mediante el Centro de administración de Windows u otras herramientas).

Ventajas de Windows Server Core:

  • Menores requisitos de recursos;

  • Estabilidad y seguridad mejoradas; se requieren menos actualizaciones (debido a la menor cantidad de código y componentes utilizados);

  • Se adapta idealmente para su uso como servidor de función de infraestructura (controlador de dominio de Active Directory, servidor DHCP, host Hyper-V, servidor de archivos SMB, etc.).

Server Core se licencia como una instancia física o virtual de Windows Server común (a diferencia de Hyper-V Server, que es totalmente gratuito).

Para instalar Windows Server 2016/2019 en el modo Core, debe seleccionar una instalación típica. Si selecciona Windows Server (Desktop Experience), se instalará la versión GUI del sistema operativo (en versiones anteriores de Windows Server se denominaba Servidor con GUI).

No puede cambiar entre los modos GUI completo y Core en Windows Server 2016/2019 sin reinstalar el servidor.

Después de la instalación de Windows Server Core, se le pedirá que establezca una contraseña de administrador local.

Cuando inicia sesión en Server Core, aparece el símbolo del sistema (cmd.exe). Si desea que se ejecute la consola de PowerShell en su lugar, realice algunos cambios en el registro. Ejecute los comandos a continuación:

Powershell.exe
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'

Y reinicie su servidor:

Restart-Computer -Force

Si ha cerrado accidentalmente la ventana del símbolo del sistema, presione

Ctrl+Alt+Delete

, abra el Administrador de tareas -> Archivo -> Ejecutar -> y ejecute

cmd.exe

(o

PowerShell.exe

).

Configurar Windows Server Core usando SCONFIG

Puede utilizar la secuencia de comandos sconfig integrada para la configuración básica de Server Core. Solo ejecuta el

sconfig

comando en su consola. Verá un menú con varios elementos:

Con el menú Configuración del servidor, puede hacer lo siguiente:

  • Agregar una computadora a un dominio o grupo de trabajo

  • Cambiar el nombre de una computadora (nombre de host)

  • Agregar un administrador local

  • Permitir/denegar gestión remota y respuesta ICMP

  • Configurar los ajustes de actualización de Windows

  • Instalar actualizaciones de Windows

  • Habilitar/deshabilitar RDP

  • Configure los ajustes del adaptador de red (dirección IP, puerta de enlace, servidor DNS)

  • Establecer fecha y hora

  • Cambiar la configuración de telemetría

  • Activa tu instancia de Windows Server

  • Cierre sesión, reinicie o apague su servidor

cada elemento en

sconfig

tiene su numero. Para abrir el elemento que desea, simplemente escriba su

number

y presiona

Enter

Algunos elementos del menú de configuración tienen subelementos. Para llegar a una configuración, también debe ingresar su número.

No describiremos todas las configuraciones de sconfig, ya que son fáciles de entender. Sin embargo, en la mayoría de los casos, los administradores prefieren usar varios scripts de PowerShell para configurar nuevos hosts que ejecuten Server Core. Es más fácil y rápido, especialmente en escenarios de implementación masiva.

Comandos básicos de PowerShell para configurar Server Core

Echemos un vistazo a los comandos básicos de PowerShell que se pueden usar para configurar Server Core.

Para obtener información sobre la compilación de Windows Server y la versión de PowerShell:

Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$PSVersionTable

Para reiniciar Server Core, ejecute este comando de PowerShell:

Restart-Computer

Para cerrar sesión en su consola Server Core, use el siguiente comando:

logoff

Configure los ajustes de red en Server Core con PowerShell

Ahora debe configurar los ajustes de red mediante PowerShell (de forma predeterminada, Windows está configurado para recibir una dirección IP de DHCP). Mostrar una lista de adaptadores de red:

Get-NetIPConfiguration

Especifique un índice de la interfaz de su adaptador de red (

InterfaceIndex

) que desea cambiar y establecer una nueva dirección IP y servidores DNS:

New-NetIPaddress -InterfaceIndex 4 -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1
Set-DNSClientServerAddress -InterfaceIndex 4 -ServerAddresses 192.168.1.11,192.168.101.11

Compruebe la configuración de red actual:

Get-NetIPConfiguration

Si desea restablecer una dirección IP y volver a obtener una dirección IP de DHCP, ejecute el siguiente comando:

Set-DnsClientServerAddress -InterfaceIndex 4 -ResetServerAddresses
Set-NetIPInterface -InterfaceIndex 4 -Dhcp Enabled

Para habilitar/deshabilitar un adaptador de red:

Disable-NetAdapter -Name “Ethernet0”
Enable-NetAdapter -Name “Ethernet 0”

Para habilitar, deshabilitar o verificar el estado de la compatibilidad con IPv6 para su adaptador de red:

Disable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6

Para configurar el servidor proxy winhttp para PowerShell o conexiones del sistema:

netsh Winhttp set proxy <servername>:<port number>

¿Cómo configurar la fecha/hora?

Puede establecer una fecha, una hora o una zona horaria mediante una herramienta gráfica

intl.cpl

o PowerShell:

Set-Date -Date "07/21/2021 09:00"
Set-TimeZone "Central Europe Standard Time”

Establezca el nombre de la computadora, únase al dominio y active Server Core

Para cambiar el nombre de una computadora (nombre de host):

Rename-Computer -NewName be-srv01 -PassThru

Para agregar un servidor a su dominio de Active Directory local:

Add-Computer -DomainName "corp.a-d.site" -Restart

Si desea agregar usuarios adicionales al grupo de administradores locales, puede configurar una Política de grupo o agregarlos manualmente:

Add-LocalGroupMember -Group "Administrators" -Member "corp\jsmith"

Para activar Windows Server, ingrese su clave de producto:

slmgr.vbs -ipk <productkey>
slmgr.vbs -ato

O puede activar su host en un servidor KMS. Por ejemplo, para activar Windows Server Core 2019 Standart en un host KMS:

slmgr /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
slmgr /skms kms.corp.a-d.site:1688
slmgr /ato

Habilitación de la administración remota de Windows Server Core

Para permitir el acceso remoto a Server Core a través de RDP:

cscript C:\Windows\System32\Scregedit.wsf /ar 0

Para permitir la administración remota:

Configure-SMRemoting.exe -Enable
Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”

Para mostrar la configuración actual de Gestión remota:

Configure-SMRemoting.exe -Get

Para permitir Win-RM para la comunicación remota de PowerShell:

Enable-PSRemoting -force

Puede administrar un servidor que ejecuta Windows Server Core de forma remota desde otro servidor (usando ServerManager.exe), a través de un navegador usando Windows Admin Center (WAC), desde cualquier estación de trabajo usando RSAT, también puede conectarse usando RDP, PowerShell Remoting o SSH (las versiones actuales de Windows tienen un servidor SSH incorporado).

Configuración del Firewall de Windows en Server Core

Puede encontrar información sobre cómo configurar el Firewall de Windows Defender con PowerShell en este artículo. Solo mostraré algunos comandos básicos aquí.

Para habilitar el Firewall de Windows Defender para todos los perfiles:

Set-NetFirewallProfile   -Profile Domain,Public,Private -Enabled True

Para cambiar su tipo de red de Pública a Privada:

Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private

Para deshabilitar completamente el Firewall de Windows (no recomendado):

Get-NetFirewallProfile | Set-NetFirewallProfile -enabled false

Para permitir la conexión mediante herramientas de administración remota:

Enable-NetFireWallRule -DisplayName “Windows Management Instrumentation (DCOM-In)”
Enable-NetFireWallRule -DisplayGroup “Remote Event Log Management”
Enable-NetFireWallRule -DisplayGroup “Remote Service Management”
Enable-NetFireWallRule -DisplayGroup “Remote Volume Management”
Enable-NetFireWallRule -DisplayGroup “Remote Scheduled Tasks Management”
Enable-NetFireWallRule -DisplayGroup “Windows Firewall Remote Management”
Enable-NetFirewallRule -DisplayGroup "Remote Administration"

¿Cómo instalar actualizaciones en Windows Server Core?

Para administrar las opciones de actualización, es mejor usar las Políticas de grupo de Windows Update. Sin embargo, puede establecer la configuración de actualización manualmente.

Para deshabilitar la actualización automática:

Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 1

Para descargar automáticamente las actualizaciones disponibles:

Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 3

Para obtener la lista de actualizaciones instaladas:

Get-Hotfix

O

wmic qfe list

Para instalar las actualizaciones de Windows manualmente, puede usar el

wusa

herramienta:

wusa kbnamexxxxx.msu /quiet

Para instalar y administrar actualizaciones desde el símbolo del sistema, es conveniente utilizar el módulo PSWindowsUpdate para PowerShell.

Administración de funciones, servicios y procesos principales de Windows

Para obtener una lista de todos los roles disponibles en Windows Server Core, ejecute el siguiente comando de PowerShell:

Get-WindowsFeature

Para obtener una lista de todas las funciones y características instaladas en Windows Server (así puede comprender rápidamente para qué se usa el servidor):

Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate

Por ejemplo, para instalar la función DNS, ejecute este comando:

Install-WindowsFeature DNS -IncludeManagementTools

Para obtener una lista de todos los servicios en Windows:

Get-Service

Para ver todos los servicios detenidos:

Get-Service | Where-Object {$_.status -eq   “stopped”}

Para reiniciar un servicio:

Restart-Service -Name spooler

Obtenga más información sobre la administración de servicios con PowerShell.

Para administrar procesos, puede usar el Administrador de tareas (taskmgr.exe) o el módulo Procesos de PowerShell:

Get-Process cmd, wuaucl* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft

Comandos útiles de Windows Server Core

Por último, mostraré algunos comandos y scripts útiles de PowerShell que suelo usar para administrar Server Core.

Información sobre el estado y la salud de los discos físicos (se utiliza el módulo de administración de discos de almacenamiento predeterminado):

Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType, SpindleSpeed, HealthStatus, OperationalStatus -AutoSize

Información de espacio libre en disco:

Get-WmiObject -Class Win32_LogicalDisk |
Select-Object -Property DeviceID, VolumeName, @{Label='FreeSpace (Gb)'; expression={($_.FreeSpace/1GB).ToString('F2')}},
@{Label='Total (Gb)'; expression={($_.Size/1GB).ToString('F2')}},
@{label='FreePercent'; expression={[Math]::Round(($_.freespace / $_.size) * 100, 2)}}|ft

Información sobre los últimos 10 reinicios de su servidor:

Get-EventLog system | where-object {$_.eventid -eq 6006} | select -last 10

Una lista de programas instalados:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize

Para descargar y extraer un archivo ZIP de un sitio web externo:

Invoke-WebRequest https://servername/file.zip -outfile file.zip
Expand-Archive -path '.\file.zip' -DestinationPath C:\Users\Administrator\Documents\

Para copiar todos los archivos de un directorio a una computadora remota a través de la red, puede usar el cmdlet Copy-Item:

$session = New-PSSession -ComputerName be-dc01
Copy-Item -Path "C:\Logs\*" -ToSession $session -Destination "C:\Logs\" -Recurse -Force

Para instalar el controlador del dispositivo:

Pnputil -i -a c:\install\hpspp\hpdp.inf

Microsoft también ofrece un paquete especial, Server Core App Compatibility Feature on Demand (FOD), que le permite instalar algunas herramientas gráficas y complementos en Windows Core Server 2019 (MMC, Eventvwr, Hyper-V Manager, PerfMon, Resmon, Explorer.exe, Device Manager, Powershell ISE). Puede descargar FOD como un archivo ISO si su suscripción de Microsoft está activa. Puedes instalarlo de la siguiente manera:

Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0

La instalación de la función de compatibilidad de aplicaciones de Server Core a pedido utilizará aproximadamente 200 MB de RAM adicional en su Server Core.

En este artículo, traté de recopilar los comandos más útiles necesarios para administrar Windows Server Core. De vez en cuando, actualizaré el artículo y agregaré nuevos comandos si parecen necesarios para el trabajo diario.

Artículos relacionados