Comandos disponibles
A continuación se muestra una lista de todos los comandos disponibles en Specops GPUpdate Professional.
GPUpdate
Actualiza la configuración de la Política de Grupo local y basada en Active Directory, incluidas las configuraciones de seguridad en un equipo remoto.
Requisitos previos
Para ejecutar con éxito el comando GPUpdate, todos los equipos afectados deben tener habilitada la excepción de Administración Remota del Firewall de Windows.
Cmdlet de PowerShell
Update-SpecopsGroupPolicy
-ADComputer <ADComputer[]>
-Force
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
# Ejecutar GPUpdate en todos los equipos del grupo de seguridad de servidores web
Get-SpecopsADComputer -group:webservers | Update-SpecopsGroupPolicy
# Ejecutar GPUpdate en todos los servidores que no son servidores web
$servers = Get-SpecopsADComputer -group:servers
$webservers = Get-SpecopsADComputer -group:webservers
$servers | where { webservers -notcontains $_ } | Update-SpecopsGroupPolicy
Actualización de Windows
El comando de Actualización de Windows obliga al Cliente de Actualización de Windows en equipos remotos a verificar si los Servicios de Actualización de Windows Server (WSUS) o Windows Update tienen nuevos parches.
Requisitos previos
Para ejecutar con éxito el comando de Actualización de Windows, todos los equipos afectados deben tener habilitada la excepción de Administración Remota del Firewall de Windows.
Cmdlet de PowerShell
Update-SpecopsGroupPolicy
-ADComputer <ADComputer[]>
-Force
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplo
Update-SpecopsGroupPolicy
-ADComputer <ADComputer[]>
-Force
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Iniciar computadora
Envía un paquete de red mágico Wake On Lan a un equipo remoto.
Usando el archivo de propiedades personalizadas para admitir clientes DHCP que no sean de Microsoft.
Requisitos previos
Se deben cumplir los siguientes requisitos previos para ejecutar con éxito el comando:
- Excepción de firewall: El número de puerto especificado al ejecutar el comando debe estar permitido a través de cualquier periférico de red, como firewalls y enrutadores.
- Permisos del servidor DHCP: Para consultar equipos en un servidor DHCP, el llamante debe ser al menos miembro del grupo de Usuarios de DHCP. Otros grupos válidos son los administradores locales o los Administradores de DHCP.
Cmdlet de PowerShell
Start-SpecopsComputer
[-ADComputer <ADComputer[]>]
-DhcpServer
-Port <Int32>
-WaitForStart
-WaitForStartSeconds <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Start-SpecopsComputer
[-ADComputer <ADComputer[]>]
-Port <Int32>
-WaitForStart
-WaitForStartSeconds <Int32>
-IPAddress <String>
-MacAddress <String>
-SubnetMask <String>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
# enviar solicitud Wake On Lan a todas las estaciones de trabajo
Get-SpecopsADComputer -Name:WorkStation* | Start-SpecopsComputer
# enviar solicitud Wake On Lan a todas las estaciones de trabajo
# y esperar a que se inicien
Get-SpecopsADComputer -Name:WorkStation* | Start-SpecopsComputer
-WaitForStart
-WaitForStartSeconds:60
-ErrorVariable:notStarted
# si hubo errores, esto nos da los equipos que fallaron
$notStartedComputers = $notStarted | foreach { $_.TargetObject }
# si más tarde verificaremos si los que no se iniciaron
# los equipos han iniciado,
# podemos ejecutar
$notStartedComputers | Ping-SpecopsComputer
# Omitir búsqueda DHCP para todos los equipos que tienen entradas en el
# archivo NetworkInfo.csv en el formato
# Nombre,DirecciónIP,DirecciónMac,MáscaraSubred
# Equipo1,192.168.0.5,aabbccddeeff,255.255.255.0
# ...
Set-Alias gsac Get-SpecopsADComputer
gsac Computer* -CustomPropertyFile:c:\data\NetworkInfo.csv | Start-SpecopsComputer
Apagar computadora
Apaga un equipo remoto. Se muestra un mensaje al usuario durante un ‘WarningTime’ especificado. Si un usuario tiene trabajo no guardado, el apagado se abortará, a menos que se especifique la opción ‘ForceCloseApplications’.
Requisitos previos
Se deben cumplir los siguientes requisitos previos para ejecutar con éxito el comando:
- Excepción de firewall: Para ejecutar con éxito el comando Apagar Computadora, todos los equipos afectados deben tener habilitada la excepción de Administración Remota del Firewall de Windows.
- Credenciales administrativas: Para apagar un equipo remoto, el llamante debe tener el privilegio de Forzar apagado desde un sistema remoto en el equipo remoto. Por defecto, el grupo de Administradores locales tiene asignado el privilegio en estaciones de trabajo y servidores. En los controladores de dominio, los grupos de Operadores de Servidor también tienen asignado el privilegio.
Cmdlet de PowerShell
Stop-SpecopsComputer
-ADComputer <ADComputer[]>
[-Message <String>]
-ForceCloseApplications
[-WarningTime <Int32>]
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
# apagar todos los equipos cliente
Get-SpecopsADComputer -group:ClientComputers | Stop-SpecopsComputer
# verificar qué equipos cliente se apagarían
# tenga en cuenta que no se tomarán acciones
Get-SpecopsADComputer -group:ClientComputers | Stop-SpecopsComputer -WhatIf
# apagar todos los equipos cliente
# pero tener la oportunidad de confirmar cada acción
Get-SpecopsADComputer -group:ClientComputers | Stop-SpecopsComputer -Confirm
# apagar todos los equipos cliente, incluso si tienen trabajo no guardado
Get-SpecopsADComputer -group:ClientComputers | Stop-SpecopsComputer -ForceCloseApplications
# apagar todos los equipos cliente, incluso si tienen trabajo no guardado
$computers = Get-SpecopsADComputer -group:ClientComputers $computers |
Send-SpecopsMessage -Message:'Este equipo se apagará en 5 minutos'
# Esperar 4 minutos
Start-Sleep -Seconds:240
$computers | Stop-SpecopsComputer
-ForceCloseApplications -WarningTime:60 -Message:'1 minuto para apagar'
Reiniciar computadora
Reinicia un equipo remoto. Se muestra un mensaje al usuario durante un ‘WarningTime’ especificado. Si un usuario tiene trabajo no guardado, el reinicio se abortará, a menos que se especifique la opción ‘ForceCloseApplications’.
Requisitos previos
Se deben cumplir los siguientes requisitos previos para ejecutar con éxito el comando.
- Excepción de firewall: Para ejecutar con éxito el comando Reiniciar Computadora, todos los equipos afectados deben tener habilitada la excepción de Administración Remota del Firewall de Windows.
- Credenciales administrativas: Para reiniciar un equipo remoto, el llamante debe tener el privilegio de Forzar apagado desde un sistema remoto en el equipo remoto. Por defecto, el grupo de Administradores locales tiene asignado el privilegio en estaciones de trabajo y servidores. En los controladores de dominio, los grupos de Operadores de Servidor también tienen asignado el privilegio.
Cmdlet de PowerShell
Restart-SpecopsComputer
-ADComputer <ADComputer[]>
[-Message <String>]
-ForceCloseApplications
[-WarningTime <Int32>]
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
# reiniciar todos los equipos cliente
Get-SpecopsADComputer -group:ClientComputers | Restart-SpecopsComputer
# verificar qué equipos cliente se reiniciarían
# tenga en cuenta que no se tomarán acciones
Get-SpecopsADComputer -group:ClientComputers | Restart-SpecopsComputer -WhatIf
# reiniciar todos los equipos cliente
# pero tener la oportunidad de confirmar cada acción
Get-SpecopsADComputer -group:ClientComputers | Restart-SpecopsComputer -Confirm
# reiniciar todos los equipos cliente, incluso si tienen trabajo no guardado
Get-SpecopsADComputer -group:ClientComputers | Restart-SpecopsComputer
-ForceCloseApplications
# reiniciar todos los equipos cliente, incluso si tienen trabajo no guardado
$computers = Get-SpecopsADComputer -group:ClientComputers
$computers | Send-SpecopsMessage -Message:'Este equipo se apagará en 5 minutos'
# Esperar 4 minutos
Start-Sleep -Seconds:240
$computers | Restart-SpecopsComputer -ForceCloseApplications -WarningTime:60
-Message:'1 minuto para apagar'
Ping
Envía un mensaje de eco del Protocolo de Mensajes de Control de Internet (ICMP) a un equipo remoto.
La topología de red puede determinar si Ping puede contactar con éxito a un host remoto. La presencia y configuración de proxies, equipos de traducción de direcciones de red (NAT) o firewalls pueden impedir que Ping tenga éxito. Un Ping exitoso solo indica que el host remoto se puede alcanzar en la red; la presencia de servicios de nivel superior (como un servidor web) en el host remoto no está garantizada.
Requisitos previos
Para ejecutar con éxito el comando Ping, todos los equipos remotos deben permitir mensajes de solicitud de eco ICMP entrantes a través del Firewall de Windows.
Nota
Si alguna configuración de política abre el puerto TCP 445, el Firewall de Windows permite automáticamente mensajes de solicitud de eco ICMP entrantes, incluso si la configuración de política del Firewall de Windows: Permitir excepciones ICMP los bloquearía.
Este procedimiento se puede realizar utilizando la Política de Grupo:
- Abra el complemento Editor de Objetos de Política de Grupo para editar el objeto de Política de Grupo (GPO) que se utiliza para administrar la configuración del Firewall de Windows en su organización.
- Abra Configuración del Equipo, abra Plantillas Administrativas, abra Red, abra Conexiones de Red, abra Firewall de Windows y luego abra Perfil de Dominio o Perfil Estándar, dependiendo de qué perfil desea configurar.
- En el panel de detalles, haga doble clic en Firewall de Windows: Permitir excepciones ICMP.
- En el cuadro de diálogo de propiedades de Firewall de Windows: Permitir excepciones ICMP, en la pestaña Configuración, haga clic en Habilitado.
- Seleccione la casilla de verificación Permitir solicitud de eco entrante y haga clic en Aceptar.
Cmdlet de PowerShell
Ping-SpecopsComputer
-ADComputer <ADComputer[]>
-Timeout <Int32>
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
# hacer ping a todos los equipos con nombres que coincidan con el patrón server*
# y crear registros de error para todos los equipos que no respondieron
# dentro de 10 ms.
Ping-SpecopsComputer Server* -Timeout:10
# hacer ping a los servidores web
$pingResponse = Get-SpecopsADComputer
-group:WebServers | Ping-SpecopsComputer
-ErrorVariable:pingError
$noPingResponse = $pingError | foreach {
$_.TargetObject
}
Enviar Mensaje
Envía un mensaje a todos los usuarios conectados de un equipo remoto. El mensaje se mostrará en un cuadro de mensaje en el equipo remoto.
Requisitos previos
Se deben cumplir los siguientes requisitos previos para ejecutar con éxito el comando:
- Excepción de firewall: Para ejecutar con éxito el comando Enviar Mensaje, todos los equipos afectados deben tener habilitada la excepción de Administración Remota del Firewall de Windows.
- Servicio de mensajería: Para poder ejecutar el comando Enviar Mensaje en equipos con Windows 2000, el servicio de mensajería debe estar iniciado en estos equipos.
Cmdlet de PowerShell
Send-SpecopsMessage
-ADComputer <ADComputer[]>
-Message <String>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
# enviar un mensaje a todas las estaciones de trabajo
Send-SpecopsMessage WorkStation* -Message:"Me voy a casa"
# enviar un mensaje a todos los equipos en la OU de Recursos Humanos
Get-SpecopsADComputer -OU:HumanResources | Send-SpecopsMessage -Message:"¡Quiero un aumento!"
Leer Registro Remoto
Lee un valor del registro en una máquina remota. Si no se especifica ningún valor, se recuperará el valor predeterminado, sin nombre, de la clave del registro.
Requisitos previos
Se deben cumplir los siguientes requisitos previos para ejecutar con éxito el comando:
- Excepción de firewall: Para ejecutar con éxito el comando Leer Registro Remoto, todos los equipos afectados deben tener habilitada la excepción de Administración Remota del Firewall de Windows.
- Servicio de Registro Remoto: Para ejecutar con éxito el comando Leer Registro Remoto, el servicio de Registro Remoto debe estar iniciado en todos los equipos remotos. Si el servicio de Registro Remoto no está iniciado en los equipos remotos, se mostrará el mensaje de error “La interfaz es desconocida”.
Cmdlet de PowerShell
Get-SpecopsRemoteRegistry
-ADComputer <ADComputer[]>
-Key <String>
[-Value <String>]
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
# encontrar todos los servidores que tienen al menos .Net Framework 3.5 sp1
$servers = Get-SpecopsADComputer -group:Servers
$key = 'HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v3.5'
$net35sp1Servers = $servers | Get-SpecopsRemoteRegistry
-key:$key
-value:SP | Where {
$_.RegValue -ge 1
}
# encontrar aquellos que no lo tienen
$noNet35sp1 = $servers | Where { $net35sp1Servers -notContains $_ }
# La variable $noNet35sp1 ahora contiene todos los servidores que no tienen .NET3.5 sp1 instalado
Ejecutar Ejecutable
Proporciona la capacidad de ejecutar un ejecutable local con el nombre del equipo remoto como argumento.
El nombre del equipo remoto reemplazará todas las apariciones de %1% en los Argumentos proporcionados.
Requisitos previos
Depende de la aplicación que se esté ejecutando.
Cmdlet de PowerShell
Invoke-SpecopsCommand
-ADComputer <ADComputer[]>
-Command <String>
-Arguments <String>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejecutar Ejecutable Remotamente
Inicia un programa en equipos remotos, por ejemplo, ejecutar Regedit.exe con un archivo de registro para escribir valores en equipos remotos.
Requisitos previos
Para ejecutar con éxito el comando Ejecutar Ejecutable Remotamente, todos los equipos afectados deben tener habilitada la excepción de Administración Remota del Firewall de Windows.
Cmdlet de PowerShell
Invoke-SpecopsRemoteCommand
-ADComputer <ADComputer[]>
-Command <String>
-Arguments <String>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
# ingresar valores de un archivo de registro a todos los equipos de un grupo
# primero crear un archivo de registro en una ubicación pública
$regText = @"
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"CompletionChar"=dword:00000040
"DefaultColor"=dword:00000000
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000040
"@
$regFilePath = '\\Server1\PublicShare\cmdproc.reg'
$regText | Out-File -FilePath:$regFilePath
# luego decir a todos los equipos de un grupo que
# agreguen la información
# al registro
Get-SpecopsADComputer
-group:DeveloperComputers | Invoke-SpecopsRemoteCommand
-Command:regedit.exe
-Arguments:"/s $regFilePath"
Iniciar Visor de Eventos
Inicia una instancia del Visor de Eventos conectada a un equipo remoto.
Requisitos previos
Se deben cumplir los siguientes requisitos previos para ejecutar con éxito el comando:
- Excepción de firewall: Para ejecutar con éxito el comando Iniciar Visor de Eventos, el equipo afectado debe tener habilitada la excepción de Administración Remota del Firewall de Windows.
- Servicio de Registro Remoto: Para ejecutar con éxito el comando Iniciar Visor de Eventos, el servicio de Registro Remoto debe estar iniciado en el equipo remoto. Si el servicio de Registro Remoto no está iniciado en el equipo remoto, se mostrará el mensaje de error “La interfaz es desconocida”.
Cmdlet de PowerShell
Start-SpecopsEventViewer
-ADComputer <ADComputer[]>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
Iniciar Explorador
Inicia una ventana del explorador que muestra una unidad en un equipo remoto.
Requisitos previos
Para ejecutar con éxito el comando Iniciar Explorador, todos los equipos afectados deben tener habilitada la excepción de Administración Remota del Firewall de Windows.
Cmdlet de PowerShell
Start-SpecopsExplorer
-ADComputer <ADComputer[]>
[-DriveLetter <String>]
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
Iniciar Escritorio Remoto
Inicia una sesión de escritorio remoto con el equipo remoto.
Requisitos previos
Se deben cumplir los siguientes requisitos previos para ejecutar con éxito el comando:
- Requisitos del sistema: El equipo remoto debe estar ejecutando Windows XP, Windows 2003, Windows Vista o Windows Server 2008.
- Excepción de firewall: Para ejecutar con éxito el comando Escritorio Remoto, el equipo afectado debe tener habilitada la excepción de Escritorio Remoto del Firewall de Windows.
Cmdlet de PowerShell
Start-SpecopsRemoteDesktop
-ADComputer <ADComputer[]>
-Console
-FullScreen
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Ejemplos
# Iniciar una sesión de escritorio remoto con el equipo Client47
Start-SpecopsRemoteDesktop Client47 -Fullscreen -Console
Iniciar Asistencia Remota
Inicia una sesión de asistencia remota con el equipo remoto.
Requisitos previos
Se deben cumplir los siguientes requisitos previos para ejecutar con éxito el comando.
- Requisitos del sistema: El equipo remoto debe estar ejecutando Windows XP, Windows 2003, Windows Vista o Windows Server 2008.
- Excepciones de firewall
- Excepción de Administración Remota
- Excepción de Escritorio Remoto
Excepciones de programa
Este procedimiento se puede realizar utilizando la Política de Grupo.
- Abra el complemento Editor de Objetos de Política de Grupo para editar el objeto de Política de Grupo (GPO) que se utiliza para administrar la configuración del Firewall de Windows en su organización.
- Abra Configuración del Equipo, abra Plantillas Administrativas, abra Red, abra Conexiones de Red, abra Firewall de Windows y luego abra Perfil de Dominio o Perfil Estándar, dependiendo de qué perfil desea configurar.
- En el panel de detalles, haga doble clic en Firewall de Windows: Definir excepciones de programa.
- En el cuadro de diálogo de propiedades de Firewall de Windows: Definir excepciones de programa, en la pestaña Configuración, haga clic en Habilitado.
- Haz clic en el botón Mostrar.
- Añade las siguientes entradas para Windows XP y Windows Server 2003:
- %WINDIR%\PCHealth\HelpCtr\Binaries\Helpctr.exe:*:Enabled:Offer Remote Assistance – Messenger
- %WINDIR%\PCHealth\HelpCtr\Binaries\Helpsvc.exe:*:Enabled:Offer Remote Assistance
- %WINDIR%\System32\Sessmgr.exe:*:Enabled:Remote Assistance
- Añade las siguientes entradas para Windows Vista y Windows Server 2008:
- %WINDIR%\System32\msra.exe:*:Enabled:Remote Assistance Client
- %WINDIR%\System32\raserver.exe:*:Enabled:Remote Assistance Server
Habilitar Asistencia Remota en computadoras remotas
El comando de Asistencia Remota utiliza el concepto de Ofrecer Asistencia Remota. Se utiliza cuando el servicio de ayuda desea ofrecer asistencia a un usuario incluso si el usuario no la ha solicitado. Este procedimiento se puede realizar utilizando la Directiva de Grupo.
- Abre el complemento del Editor de Objetos de Directiva de Grupo para editar el objeto de Directiva de Grupo (GPO) que se utiliza para gestionar la configuración de Asistencia Remota en tu organización.
- Abre Configuración del Equipo, abre Plantillas Administrativas, abre Sistema y abre Asistencia Remota.
- En el panel de detalles, haz doble clic en la configuración Ofrecer Asistencia Remota.
- En el cuadro de diálogo de propiedades de Ofrecer Asistencia Remota, haz clic en Habilitado y luego selecciona Permitir que los ayudantes solo vean el equipo o Permitir que los ayudantes controlen el equipo de forma remota.
- Para configurar la lista de ayudantes, haz clic en el botón Mostrar. Esto abre una nueva ventana donde puedes ingresar los nombres de los ayudantes. Añade cada usuario o grupo uno por uno. Cuando ingreses el nombre del usuario ayudante o grupos de usuarios, utiliza el formato \
\ o \\ .
Cmdlet de PowerShell
Start-SpecopsRemoteAssistance
-ADComputer <ADComputer[]>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm