Uso de comandos de CMD y PowerShell Windows

Applies to: ✔️ máquinas virtuales de Windows

Resumen

En este artículo se proporcionan comandos de ejemplo para realizar tareas comunes en escenarios en los que tiene que usar la Consola de administración especial (SAC) para acceder a la máquina virtual (VM) de Windows. Por ejemplo, puede que tenga que usar SAC para solucionar errores de conexión RDP.

SAC se incluye en todas las versiones de Windows desde Windows Server 2003. Sin embargo, de forma predeterminada, está deshabilitado. SAC se basa en el sacdrv.sys controlador del kernel, el Special Administration Console Helper servicio (sacsvr) y el sacsess.exe proceso. Para obtener más información, consulte Herramientas y configuración de Servicios de administración de emergencia.

SAC permite conectarse a través de un puerto serie al sistema operativo en ejecución. Al abrir una ventana de comandos en SAC, sacsess.exe se inicia cmd.exe dentro del sistema operativo en ejecución. En el Administrador de tareas, puede ver que si, al mismo tiempo, también se conecta a través de RDP a su máquina virtual, ahora está conectado a SAC a través de la consola serial. La ventana de CMD a la que accede a través de SAC es la misma que la cmd.exe ventana que se usa al conectarse a través de RDP. Todos los mismos comandos y herramientas están disponibles, incluida la capacidad de iniciar PowerShell desde esa instancia de CMD. La principal diferencia entre SAC y el entorno de recuperación de Windows (WinRE) es que SAC le permite administrar el sistema operativo en ejecución, pero WinRE se inicia en un sistema operativo diferente y mínimo. Aunque las máquinas virtuales de Azure no admiten la capacidad de acceso a WinRE, se pueden administrar a través de SAC.

Dado que SAC está limitado a un búfer de pantalla de 80 x 24 píxeles que no tiene capacidad de desplazamiento hacia atrás, agregue | more a los comandos para mostrar la salida página por página. Use <spacebar> para ver la página siguiente o <enter> para ver la línea siguiente.

El atajo de teclado para pegar en la ventana de la consola serie es SHIFT+INSERT.

Debido al búfer de pantalla limitado de SAC, es posible que sea más fácil administrar comandos más largos copiandolos de un editor de texto local a SAC.

Uso de CMD para configurar el registro de Windows

Para ver y editar Windows configuración del Registro mediante CMD, siga estos pasos:

  1. Compruebe que RDP está habilitado. Ejecute los comandos siguientes:

    consulta del comando reg "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

    reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections

    Nota: La segunda clave (en \Policies) solo existe si se configura la configuración de directiva de grupo correspondiente.

  2. Habilite RDP mediante la ejecución de los siguientes comandos:

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0

    reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections /t REG_DWORD /d 0

    Nota: La segunda clave (en \Policies) solo es necesaria si se configura la configuración de directiva de grupo correspondiente. El valor se vuelve a escribir en la siguiente actualización de directiva de grupo si está configurado en la directiva de grupo.

Uso de CMD para administrar servicios de Windows

Para administrar Windows servicios mediante CMD, siga estos pasos:

  1. Vea el estado del servicio:

    sc query termservice

  2. Vea la cuenta de inicio de sesión del servicio:

    sc qc termservice

  3. Establezca la cuenta de inicio de sesión del servicio:

    sc config termservice obj= "NT Authority\NetworkService"

    Nota: Se requiere un espacio después del signo igual.

  4. Establezca el tipo de inicio del servicio:

    sc config termservice start= demand

    Nota: Se requiere un espacio después del signo igual. Entre los valores iniciales posibles se incluyen: boot, system, autodemand, , disabledy delayed-auto.

  5. Establecer dependencias de servicio:

    sc config termservice depend= RPCSS

    Nota: Se requiere un espacio después del signo igual.

  6. Inicie el servicio mediante la ejecución de cualquiera de los siguientes comandos:

    net start termservice

    sc start termservice

  7. Detenga el servicio ejecutando cualquiera de los siguientes comandos:

    net stop termservice

    sc stop termservice

Uso de CMD para administrar las características de red

Para administrar las características de red mediante CMD, siga estos pasos:

  1. Mostrar las propiedades de la interfaz de red (netsh):

    netsh interface show interface

  2. Mostrar las propiedades de IP:

    netsh interface ip show config

  3. Mostrar la configuración de IPSec:

    netsh nap client show configuration

  4. Habilite la interfaz del shell de red.

    netsh interface set interface name="<interface name>" admin=enabled

  5. Establezca la interfaz netsh para usar DHCP:

    netsh interface ip set address name="<interface name>" source=dhcp

Para obtener más información sobre netsh, consulte Shell de red (netsh).

Las máquinas virtuales de Azure siempre deben configurarse en el sistema operativo invitado para usar DHCP y obtener una dirección IP. La configuración de IP estática Azure sigue usando DHCP para proporcionar la dirección IP estática a la máquina virtual.

Ping

ping 8.8.8.8

Ping de puerto

Instalación del cliente telnet

dism /online /Enable-Feature /FeatureName:TelnetClient

Prueba de conectividad

telnet bing.com 80

Para quitar el cliente telnet

dism /online /Disable-Feature /FeatureName:TelnetClient

Cuando se limita a los métodos disponibles en Windows de forma predeterminada, PowerShell puede ser un mejor enfoque para probar la conectividad de puertos. Consulte la siguiente sección de PowerShell para obtener ejemplos.

Prueba de la resolución de nombres DNS

nslookup bing.com

Mostrar regla de Firewall de Windows

netsh advfirewall firewall show rule name="Remote Desktop - User Mode (TCP-In)"

Deshabilitación del firewall de Windows

netsh advfirewall set allprofiles state off

Puede usar este comando al solucionar problemas para descartar temporalmente Windows Firewall. El firewall se habilitará en el siguiente reinicio o cuando lo habilite mediante el comando de la sección siguiente. No detenga el servicio de firewall de Windows (MPSSVC) ni el servicio motor de filtrado base (BFE) como método para descartar el firewall de Windows. Detener MPSSVC o BFE hace que se bloquee toda la conectividad.

Habilitación del firewall de Windows

netsh advfirewall set allprofiles state on

Administrar usuarios y grupos mediante CMD

Creación de una cuenta de usuario local

net user /add <username> <password>

Adición de un usuario local al grupo local

net localgroup Administrators <username> /add

Compruebe que la cuenta de usuario está habilitada

net user <username> | find /i "active"

Las Máquinas Virtuales de Azure que se crean a partir de una imagen generalizada tienen la cuenta de administrador local renombrada al nombre especificado durante el aprovisionamiento de la máquina virtual. Normalmente, el nombre no es Administrator.

Habilitación de la cuenta de usuario

net user <username> /active:yes

Visualización de las propiedades de la cuenta de usuario

net user <username>

Líneas de ejemplo de interés de una cuenta de administrador local:

Account active          Yes

Account expires         Never

Password expires        Never

Workstations allowed    All

Logon hours allowed     All

Local Group Memberships *Administrators

Visualización de grupos locales

net localgroup

Administración del registro de eventos de Windows mediante CMD

Errores de registro de eventos de consulta

wevtutil qe system /c:10 /f:text /q:"Event[System[Level=2]]" | more

Cambie /c:10 al número deseado de eventos que se van a devolver o muévalo para devolver todos los eventos que coincidan con el filtro.

Consulta del registro de eventos por identificador de evento

wevtutil qe system /c:1 /f:text /q:"Event[System[EventID=11]]" | more

Consulta del registro de eventos por identificador de evento y proveedor

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more

Consulta del registro de eventos por identificador de evento y proveedor durante las últimas 24 horas

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"

Use 604800000 para mirar hacia atrás siete días en lugar de 24 horas.

Consulta del registro de eventos por identificador de evento, proveedor y EventData en los últimos siete días

wevtutil qe security /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4624 and TimeCreated[timediff(@SystemTime) <= 604800000]] and EventData[Data[@Name='TargetUserName']='<username>']]" | more

Visualización o eliminación de aplicaciones instaladas mediante CMD

Enumerar aplicaciones instaladas

wmic product get Name,InstallDate | sort /r | more

El sort /r comando ordena los resultados en orden descendente por fecha de instalación, lo que facilita la identificación de las aplicaciones instaladas recientemente. Use <spacebar> para avanzar a la siguiente página de salida o <enter> para avanzar una línea.

Desinstalación de una aplicación

wmic path win32_product where name="<name>" call uninstall

Reemplace por <name> el nombre que se devuelve en el comando anterior para la aplicación que desea quitar.

Administración del sistema de archivos mediante CMD

Obtener la versión del archivo

wmic datafile where "drive='C:' and path='\\windows\\system32\\drivers\\' and filename like 'netvsc%'" get version /format:list

En este ejemplo se devuelve la versión de archivo del controlador del adaptador de red virtual, que es netvsc.sys, netvsc63.syso netvsc60.sys en función de la versión de Windows.

Buscar daños en los archivos del sistema

sfc /scannow

Consulte también Reparar una imagen de Windows.

Buscar daños en los archivos del sistema

dism /online /cleanup-image /scanhealth

Consulte también Reparar una imagen de Windows.

Exportación de permisos de archivo a un archivo de texto

icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /t /c > %temp%\MachineKeys_permissions_before.txt

Guardar permisos de archivo en el archivo ACL

icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /save %temp%\MachineKeys_permissions_before.aclfile /t

Restauración de permisos de archivo desde el archivo ACL

icacls %programdata%\Microsoft\Crypto\RSA /save %temp%\MachineKeys_permissions_before.aclfile /t

Al usar /restore, especifique la carpeta primaria de la usada en /save. Por ejemplo, use \RSA si guardó previamente permisos para \MachineKeys.

Tomar la propiedad NTFS de una carpeta

takeown /f %programdata%\Microsoft\Crypto\RSA\MachineKeys /a /r

Concesión de permisos NTFS a una carpeta de forma recursiva

icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)"

Administrar dispositivos

Eliminar entradas para dispositivos PNP inexistentes

Este comando limpia las entradas del dispositivo para el hardware que ya no existe en el sistema:

%windir%\System32\RUNDLL32.exe %windir%\System32\pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean

Administrar Directiva de Grupo

Forzar una actualización de directiva de grupo

gpupdate /force /wait:-1

Tareas varias mediante CMD

Mostrar versión del sistema operativo

ver

o

wmic os get caption,version,buildnumber /format:list

o

systeminfo find /i "os name"

systeminfo | findstr /i /r "os.*version.*build"

Visualización de la fecha de instalación del sistema operativo

systeminfo | find /i "original"

o

wmic os get installdate

Visualización de la hora de último arranque

systeminfo | find /i "system boot time"

Visualización de la zona horaria

systeminfo | find /i "time zone"

o

wmic timezone get caption,standardname /format:list

Reiniciar Windows

shutdown /r /t 0

Agregar /f fuerza a que las aplicaciones en ejecución se cierren sin previo aviso a los usuarios.

Detección del arranque en modo seguro

bcdedit /enum | find /i "safeboot"

Comandos de Windows: PowerShell

Para ejecutar PowerShell en SAC, después de llegar a un símbolo del sistema de CMD, escriba:

powershell <enter>

Precaución

Quite el módulo PSReadLine de la sesión de PowerShell antes de ejecutar cualquier otro comando de PowerShell. Hay un problema conocido por el que se pueden introducir caracteres adicionales en el texto pegado desde el Portapapeles si PSReadLine se ejecuta en una sesión de PowerShell en SAC.

Compruebe primero si PSReadLine está cargado. Se carga de forma predeterminada en Windows Server 2016, Windows 10 y versiones posteriores de Windows. Solo estaría presente en versiones anteriores Windows si se instala manualmente.

Si este comando regresa a un indicador sin mostrar nada, el módulo no se cargó y puede seguir usando la sesión de PowerShell en el SAC con normalidad.

get-module psreadline

Si el comando anterior devuelve la versión del módulo PSReadLine, ejecute el siguiente comando para descargarlo. Este comando no elimina ni desinstala el módulo. Solo lo descarga de la sesión actual de PowerShell.

remove-module psreadline

Si PSReadLine se carga, puede introducir caracteres adicionales al pegar texto. Para evitar esto, descargue el módulo mediante remove-module psreadline.

Ver y editar la configuración del Registro de Windows mediante PowerShell

Comprobación de que RDP está habilitado

get-itemproperty -path 'hklm:\system\curRentcontrolset\control\terminal server' -name 'fdenytsconNections'

get-itemproperty -path 'hklm:\software\policies\microsoft\windows nt\terminal services' -name 'fdenytsconNections'

La segunda clave de \Policies existe solo si se configura la configuración de directiva de grupo correspondiente.

Habilitación de RDP

set-itemproperty -path 'hklm:\system\curRentcontrolset\control\terminal server' -name 'fdenytsconNections' 0 -type dword

set-itemproperty -path 'hklm:\software\policies\microsoft\windows nt\terminal services' -name 'fdenytsconNections' 0 -type dword

La segunda clave (en \Policies) solo sería necesaria si se configuró la configuración de directiva de grupo pertinente. El valor se volverá a escribir en la siguiente actualización de directiva de grupo si está configurado en la directiva de grupo.

Administración de Windows Services mediante PowerShell

Visualización de los detalles del servicio

get-wmiobject win32_service -filter "name='termservice'" | format-list Name,DisplayName,State,StartMode,StartName,PathName,ServiceType,Status,ExitCode,ServiceSpecificExitCode,ProcessId

Get-Service se puede usar, pero no incluye la cuenta de inicio de sesión del servicio. Get-WmiObject win32-service lo hace.

Establecer la cuenta de inicio de sesión del servicio

(get-wmiobject win32_service -filter "name='termservice'").Change($null,$null,$null,$null,$null,$false,'NT Authority\NetworkService')

Cuando se usa una cuenta de servicio distinta de NT AUTHORITY\LocalService, NT AUTHORITY\NetworkServiceo LocalSystem, especifique la contraseña de la cuenta como el último argumento (octavo) después del nombre de la cuenta.

Establecimiento del tipo de inicio del servicio

set-service termservice -startuptype Manual

Set-service acepta Automatic, Manual o Disabled para el tipo de inicio.

Establecer dependencias de servicio

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\TermService' -Name DependOnService -Value @('RPCSS','TermDD')

Iniciar servicio

start-service termservice

Detener servicio

stop-service termservice

Administración de características de red mediante PowerShell

Mostrar las propiedades del adaptador de red

get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | format-list status,name,ifdesc,macadDresS,driverversion,MediaConNectState,MediaDuplexState

o

get-wmiobject win32_networkadapter -filter "servicename='netvsc'" | format-list netenabled,name,macaddress

Get-NetAdapter está disponible en 2012 y versiones posteriores, para 2008 R2, use Get-WmiObject.

Mostrar propiedades de IP

get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'" | format-list DNSHostName,IPAddress,DHCPEnabled,IPSubnet,DefaultIPGateway,MACAddress,DHCPServer,DNSServerSearchOrder

Habilitación del adaptador de red

get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | enable-netadapter

o

(get-wmiobject win32_networkadapter -filter "servicename='netvsc'").enable()

Get-NetAdapter está disponible en 2012 y versiones posteriores, para 2008 R2, use Get-WmiObject.

Establecimiento del adaptador de red para usar DHCP

get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | Set-NetIPInterface -DHCP Enabled

(get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'").EnableDHCP()

Get-NetAdapter está disponible en 2012 y versiones posteriores. Para 2008 R2, use Get-WmiObject. Las máquinas virtuales de Azure siempre deben configurarse en el sistema operativo invitado para usar DHCP y obtener una dirección IP. La configuración de IP estática Azure sigue usando DHCP para proporcionar la dirección IP a la máquina virtual.

Ping

test-netconnection

Nota:

Es posible que el cmdlet Write-Progress no funcione con este comando. Como mitigación, puede ejecutar $ProgressPreference = "SilentlyContinue" en PowerShell para deshabilitar la barra de progreso.

O

get-wmiobject Win32_PingStatus -Filter 'Address="8.8.8.8"' | format-table -autosize IPV4Address,ReplySize,ResponseTime

Test-Netconnection sin parámetros, intente hacer ping a internetbeacon.msedge.net. Está disponible en 2012 y versiones posteriores. Para 2008 R2, use Get-WmiObject, como en el segundo ejemplo.

Ping de puerto

test-netconnection -ComputerName bing.com -Port 80

O

(new-object Net.Sockets.TcpClient).BeginConnect('bing.com','80',$null,$null).AsyncWaitHandle.WaitOne(300)

Test-NetConnection está disponible en 2012 y versiones posteriores. Para 2008 R2, use Net.Sockets.TcpClient.

Prueba de la resolución de nombres DNS

resolve-dnsname bing.com

O

[System.Net.Dns]::GetHostAddresses('bing.com')

Resolve-DnsName está disponible en 2012 y versiones posteriores. Para 2008 R2, use System.Net.DNS.

Mostrar regla de firewall de Windows por nombre

get-netfirewallrule -name RemoteDesktop-UserMode-In-TCP

Mostrar la regla del firewall de Windows por puerto

get-netfirewallportfilter | where {$_.localport -eq 3389} | foreach {Get-NetFirewallRule -Name $_.InstanceId} | format-list Name,Enabled,Profile,Direction,Action

O

(new-object -ComObject hnetcfg.fwpolicy2).rules | where {$_.localports -eq 3389 -and $_.direction -eq 1} | format-table Name,Enabled

Get-NetFirewallPortFilter está disponible en 2012 y versiones posteriores. Para 2008 R2, use el hnetcfg.fwpolicy2 objeto COM.

Deshabilitación del firewall de Windows

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

Set-NetFirewallProfile está disponible en 2012 y versiones posteriores. Para 2008 R2, use netsh advfirewall según lo mencionado en la sección CMD anterior en este artículo.

Administración de usuarios y grupos mediante PowerShell

Creación de una cuenta de usuario local

new-localuser <name>

Comprobación de que la cuenta de usuario está habilitada

(get-localuser | where {$_.SID -like "S-1-5-21-*-500"}).Enabled

O

(get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'").Disabled

Get-LocalUser está disponible en 2012 y versiones posteriores. Para 2008 R2, use Get-WmiObject. En este ejemplo se muestra la cuenta de administrador local integrada. Esta cuenta siempre tiene SID S-1-5-21-*-500. Las Máquinas Virtuales de Azure que se crean a partir de una imagen generalizada tienen la cuenta de administrador local renombrada al nombre especificado durante el aprovisionamiento de la máquina virtual. Normalmente, el nombre no es Administrator.

Adición de un usuario local al grupo local

add-localgroupmember -group Administrators -member <username>

Habilitación de la cuenta de usuario local

get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | enable-localuser

En este ejemplo se habilita la cuenta de administrador local integrada. Esta cuenta siempre tiene SID S-1-5-21-*-500. Las máquinas virtuales de Azure que se crean a partir de una imagen generalizada tienen la cuenta de administrador local renombrada al nombre especificado durante el aprovisionamiento de la VM. Normalmente, el nombre no es Administrator.

Visualización de las propiedades de la cuenta de usuario

get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | format-list *

O

get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'" | format-list Name,Disabled,Status,Lockout,Description,SID

Get-LocalUser está disponible en 2012 y versiones posteriores. Para 2008 R2, use Get-WmiObject. En este ejemplo se muestra la cuenta de administrador local integrada. Esta cuenta siempre tiene SID S-1-5-21-*-500.

Visualización de grupos locales

(get-localgroup).name | sort (get-wmiobject win32_group).Name | sort

Get-LocalUser está disponible en 2012 y versiones posteriores. Para 2008 R2, use Get-WmiObject.

Administración del registro de eventos de Windows mediante PowerShell

Errores de registro de eventos de consulta

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Level=2]]" | more

Cambie /c:10 al número deseado de eventos que se van a devolver o quítelo para devolver todos los eventos coincidentes.

Consulta del registro de eventos por identificador de evento

get-winevent -logname system -maxevents 1 -filterxpath "*[System[EventID=11]]" | more

Consulta del registro de eventos por identificador de evento y proveedor

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more

Consulta del registro de eventos por identificador de evento y proveedor durante las últimas 24 horas

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"

Use 604800000 para mirar hacia atrás siete días en lugar de 24 horas. |

Consulta del registro de eventos por identificador de evento, proveedor y EventData en los últimos siete días

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4624 and TimeCreated[timediff(@SystemTime) <= 604800000]] and EventData[Data[@Name='TargetUserName']='<username>']]" | more

Visualización o eliminación de aplicaciones iInstalled mediante PowerShell

Enumerar software instalado

get-wmiobject win32_product | select installdate,name | sort installdate -descending | more

Desinstalar software

(get-wmiobject win32_product -filter "Name='<name>'").Uninstall()

Administración del sistema de archivos mediante PowerShell

Obtener la versión del archivo

(get-childitem $env:windir\system32\drivers\netvsc*.sys).VersionInfo.FileVersion

En este ejemplo se devuelve la versión de archivo del controlador NIC virtual, que se denomina netvsc.sys, netvsc63.syso netvsc60.sys en función de la versión de Windows.

Descargar y extraer el archivo

$path='c:\bin';md $path;cd $path;(new-object net.webclient).downloadfile( ('htTp:/'+'/download.sysinternals.com/files/SysinternalsSuite.zip'),"$path\SysinternalsSuite.zip");(new-object -com shelL.apPlication).namespace($path).CopyHere( (new-object -com shelL.apPlication).namespace("$path\SysinternalsSuite.zip").Items(),16)

En este ejemplo se crea una c:\bin carpeta y luego se descarga y extrae el conjunto de herramientas Sysinternals en c:\bin.

Tareas varias que usan PowerShell

Mostrar versión del sistema operativo

get-wmiobject win32_operatingsystem | format-list caption,version,buildnumber

Visualización de la fecha de instalación del sistema operativo

(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).installdate)

Visualización de la hora de último arranque

(get-wmiobject win32_operatingsystem).lastbootuptime

Ver el tiempo que Windows ha estado operativo

"{0:dd}:{0:hh}:{0:mm}:{0:ss}.{0:ff}" -f ((get-date)-(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).lastbootuptime))

Devuelve el tiempo de actividad como <days>:<hours>:<minutes>:<seconds>:<milliseconds>, por ejemplo 49:16:48:00.00.

Reiniciar Windows

restart-computer

Agregar -force fuerza a que las aplicaciones en ejecución se cierren sin previo aviso a los usuarios.

Metadatos de instancia

Puede consultar Azure metadatos de instancia desde la máquina virtual de Azure para ver detalles como osType, Location, vmSize, vmId, name, resourceGroupName, subscriptionId, privateIpAddress y publicIpAddress.

Para consultar los metadatos de instancia, se requiere una conectividad de red adecuada del invitado, ya que se realiza una llamada REST desde el host de Azure al servicio de metadatos de instancia. Si puede consultar metadatos de instancia, el invitado puede comunicarse a través de la red a un servicio hospedado Azure.

Para obtener más información, consulte Azure Instance Metadata service.

Metadatos de instancia

$im = invoke-restmethod -headers @{"metadata"="true"} -uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -method get

$im | convertto-json

Tipo de sistema operativo (metadatos de instancia)

$im.Compute.osType

Ubicación (metadatos de instancia)

$im.Compute.Location

Tamaño (metadatos de instancia)

$im.Compute.vmSize

Identificador de máquina virtual (metadatos de instancia)

$im.Compute.vmId

Nombre de máquina virtual (metadatos de instancia)

$im.Compute.name

Nombre del grupo de recursos (metadatos de instancia)

$im.Compute.resourceGroupName

Identificador de suscripción (metadatos de instancia)

$im.Compute.subscriptionId

Etiquetas (metadatos de instancia)

$im.Compute.tags

ID de grupo de colocación (metadatos de instancia)

$im.Compute.placementGroupId

Dominio de error de plataforma (metadatos de instancia)

$im.Compute.platformFaultDomain

Dominio de actualización de plataforma (metadatos de instancia)

$im.Compute.platformUpdateDomain

Dirección IP privada IPv4 (metadatos de instancia)

$im.network.interface.ipv4.ipAddress.privateIpAddress

Dirección IP pública IPv4 (metadatos de instancia)

$im.network.interface.ipv4.ipAddress.publicIpAddress

Dirección o prefijo de subred IPv4 (metadatos de instancia)

$im.network.interface.ipv4.subnet.address

$im.network.interface.ipv4.subnet.prefix

Dirección IP IPv6 (metadatos de instancia)

$im.network.interface.ipv6.ipAddress

Dirección MAC (metadatos de instancia)

$im.network.interface.macAddress

Pasos siguientes