La nVidia no es sana

2023-12-25T06:00:00+01:00 | 5 minutos de lectura | Actualizado en 2023-12-25T09:00:00+01:00

La nVidia no es sana

Pues otra vez me veo en garras de proveedores sin capacidad, de comerciales sin voluntad, y de lusers que no saben hablar y caminar a la vez.

Vuelve el BOFH.

La nVidia no es sana

Resulta que tengo una instalación que voy a decomisar, pero tengo unos usuarios que se resisten.
También resulta que tengo unos comerciales, comerciales de proveedores, que están mucho más interesados en vender que en otra cosa.

Tengo una infraestructura de VDI que está sujeta con puntales, rodeada de sacos de arena y con señales de riesgo NBQ, pero que aún da soporte con su antaño poderosa nVidia Grid K2, desde VMware a Citrix XenServer a Windows 2016 para las cosas de pintar de los pintamonas.
Estaba muy bien en su día, una infraestructura potente, un montaje bastante majo, todo integrado en VDI… VDI cítrico para lusers con mac y pretensiones.

Pues resulta que, gracias a la migración que estoy haciendo, consolidar absolutamente todos los equipos en nube, Azure, y Microsoft 365, sobre plataforma PC totalmente estandarizada, pues esta herramienta queda como elemento legacy fuera de soporte.
Y como tal, su licenciamiento suspendido.

Se masca la tragedia

La parte de VMware no me preocupa. Queda licencia.
La de Citrix, y de Microsoft, lo mismo. Licenciados.
Con los aplicativos de diseño, no me preocupo. Son hotseat por lo que no hay problema por ahí.
Pero ¿y la nVidia Grid?
Tengo a una flota de comerciales que se niegan a renovar una licencia si no cambio la tarjetería de los servidores. Cosa que no voy a hacer, puesto que voy a apagarlo en un par de meses.
Si no me dan lo que quiero por las buenas, recurriré a cosas más expeditivas, perdiendo ellos, y no perdiendo yo, por lo que hace 4 meses, y justo hasta hace unos días que di de baja esta infraestructura y migrados sus lusers (y retirados unos cuantos mac del mundo).

Y por su puesto, como siempre, disclaimer, pliego de descargo o como lo queramos llamar.

Aviso: Este procedimiento lo libero con fines pedagógicos y de prueba. No es legítimo en entornos de producción.
Aviso:
Aviso: Este procedimiento funciona con las máquinas que usan el software de nVidia Grid en Windows.
Aviso:
Aviso: Usar con precaución y bajo vuestra propia responsabilidad.

Por razones obvias, no voy a poner fotos ni cosas.

Procedimiento

Pues resulta que investigando un poquito, he encontrado esto https://github.com/KrutavShah/vGPU_LicenseBypass lo que me permite meter la nVidia Grid en modo prueba eterno, o casi.

Basta con ejecutar esto con permisos de administrador:

<#
.SYNOPSIS
    Set vGPU VM instance into eternal trial.
.DESCRIPTION
    Configures a Windows vGPU client for a 24-hour trial period and automatic daily driver restarts.
.EXAMPLE
    Set-vGPUEternalTrial -RestartTime 2AM
.EXAMPLE
    Set-vGPUEternalTrial -RestartTime 3AM -Filter '*GRID*'
.INPUTS
    None.
.OUTPUTS
    None
.NOTES
    None
.FUNCTIONALITY
    Adds two registry keys and a scheduled task.
#>

[CmdletBinding()]
[OutputType([String])]
Param (
    # Restart time
    [Parameter(Mandatory = $false,
        HelpMessage = 'Time of day to auto-restart the driver, defaults to 3:00am local')]
    [Alias('Time')]
    [ValidateNotNullOrEmpty()]
    [string]
    $RestartTime = '3AM',

    # Device friendly name filter.
    [Parameter(Mandatory = $false,
        HelpMessage = "Filter for FriendlyName of devices to restart, defaults to 'nVidia*'")]
    [ValidateNotNullOrEmpty()]
    [String]
    $Filter = 'nVidia*'
)

process {
    $RegistryPath = 'HKLM:\SOFTWARE\NVIDIA Corporation\Global\GridLicensing'
    $RegistryProps = @(
        @{
            Name         = 'UnlicensedUnrestrictedStateTimeout'
            PropertyType = 'DWORD'
            Value        = 0x5a0
        }
        @{
            Name         = 'UnlicensedRestricted1StateTimeout'
            PropertyType = 'DWORD'
            Value        = 0x5a0
        }
        @{
            Name         = 'UnlicensedRestricted2StateTimeout'
            PropertyType = 'DWORD'
            Value        = 0x5a0
        }
        @{
            Name         = 'DisableExpirationPopups'
            PropertyType = 'DWORD'
            Value        = 0x1
        }
        @{
            Name         = 'DisableSpecificPopups'
            PropertyType = 'DWORD'
            Value        = 0x1
        }
    )

    $taskName = 'Restart vGPU Driver'
    $taskDescr = 'Restart nVidia vGPU device drivers daily at {0}' -f $RestartTime
    $taskScript = ( '& { Get-PnpDevice -PresentOnly -Class Display -FriendlyName ' + ('"{0}"' -f $Filter) + ' | Foreach-Object -Process { Disable-PnpDevice -InstanceId $_.InstanceId -Confirm:$false; Start-Sleep -Seconds 7; Enable-PnpDevice -InstanceId $_.InstanceId -Confirm:$false} }')

    try {
        Write-Output -InputObject ('Setting unlicensed state timeout registry properties to 24 hours')
        # Make sure the registry key exists
            (New-Item -ItemType Directory -Path $RegistryPath -Force -ErrorAction SilentlyContinue | Out-Null)
        # Add/overwrite the properties
        foreach ($RegistryProp in $RegistryProps) { New-ItemProperty -Path $RegistryPath @RegistryProp -Force -InformationAction SilentlyContinue }

        # check for existing task and remove if present
        Write-Output -InputObject ('Checking for existing scheduled task and removing if present')
        if (Get-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue) {
            Unregister-ScheduledTask -TaskName $taskName -Confirm:$false
            Write-Output -InputObject ('Found and unregistered existing scheduled task')
        }

        # Create daily restart scheduled task
        Write-Output -InputObject ('Adding new scheduled task "{0}", daily at {1}' -f $taskName, $RestartTime)
        $taskPrincipal = New-ScheduledTaskPrincipal -UserId 'SYSTEM' -LogonType 'ServiceAccount' -RunLevel 'Highest' -ProcessTokenSidType 'Default'
        $taskSettings = New-ScheduledTaskSettingsSet # don't need any specifics here
        $taskTrigger = New-ScheduledTaskTrigger -Daily -At $RestartTime
        $taskAction = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument ('-WindowStyle Hidden -NonInteractive -NoProfile -Command "{0}" ' -f $taskScript)
        $task = Register-ScheduledTask -TaskName $taskName -Action $taskAction -Trigger $taskTrigger -Description $taskDescr -Principal $taskPrincipal -Settings $taskSettings
        Write-Output -InputObject ('Registered scheduled task "{0}"' -f $task.TaskName)
    } catch {
        throw $PSItem
    } finally {
        Write-Output -InputObject ('Done.')
    }
}

Y funcionando. No pienso actualizar.


YoVirtualizador en formato podcast. Ahora también en Sospechosos Habituales: https://wt.territoriolinux.es/rss/short.xml
Y sin más, os dejo los enlaces:

Web: https://www.yovirtualizador.com
Grupo de telegram: https://t.me/grupovirtualizador
Podcast: https://www.ivoox.com/podcast-yovirtualizador_fg_f1563806_filtro_1.xml y YouTube https://www.youtube.com/playlist?list=PLrnymu_aoVL6nk1-FcZ220P65tyHV6djV Canal de YouTube: https://www.youtube.com/channel/UC0R70cABSsmC6TFyXth0qPg

Enlaces afiliados:

Amazon: https://amzn.to/3gX3HmK
Asociación Podcast: https://www.asociacionpodcast.es/registrarse/socio/?coupon=SB6A70
iVoox Plus: https://www.ivoox.vip/plus?affiliate-code=323d07d8569f044513746a1be4724b40
iVoox Premium: https://www.ivoox.vip/premium?affiliate-code=03d0efe2be3b55e4cd6df6dc3f6a6dbc
iVoox Premium anual: https://www.ivoox.vip/premium?affiliate-code=9feb8e44ecb4c97148e227100af9223b

© 2019 - 2025 YoVirtualizador

Tu podcast y blog de confianza

Copyright

copyright = ‘Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0)

Políticas

Políticas del sitio web YoVirtualizador

Datos actualizados a enero de 2021

YoVirtualizador es la marca de varios proyectos

Podcast de informática profesional. Canal de Youtube sobre el blog, el podcast y de temática profesional. Blog de contenido diverso, con temática BOFH y técnica.

Gracias por la lectura.

En YoVirtualizador no usamos cookies para nada, pero los servicios de discus y analytics recopilan datos en servidores ajenos a YoVirtualizador sin que yo pueda hacer nada.

Este aviso es sólo porque algún político tenía que justificar su existencia, y ahora además hay que redactar.

Legislación aplicable:

  • Artículo 22 de la Ley 34/2002, de 11 de julio, de servicios de la sociedad de la información y de comercio electrónico (LSSI).
  • Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo, de 27 de abril de 2016, General de Protección de Datos (RGPD)
  • Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos y garantía de los derechos digitales (LOPDGDD)

Definición y función de las cookies ¿Qué son las cookies? Una cookie es un fichero que se descarga en su ordenador al acceder a determinadas páginas web. Las cookies permiten a una página web, entre otras cosas, almacenar y recuperar información sobre los hábitos de navegación de un usuario o de su equipo y, dependiendo de la información que contengan y de la forma en que utilice su equipo, pueden utilizarse para reconocer al usuario.

¿Qué tipos de cookies utiliza esta página web? Cookies propias: Son aquéllas que se envían al equipo terminal del usuario desde un equipo o dominio gestionado por el propio editor y desde el que se presta el servicio solicitado por el usuario.

Cookies de terceros: Son aquéllas que se envían al equipo terminal del usuario desde un equipo o dominio que no es gestionado por el editor, sino por otra entidad que trata los datos obtenidos través de las cookies.

(Lea también: CÓMO UTILIZA GOOGLE LA INFORMACIÓN DE SITIOS WEB O APLICACIONES QUE UTILIZAN NUESTROS SERVICIOS)

Cookies persistentes: Son un tipo de cookies en el que los datos siguen almacenados en el terminal y pueden ser accedidos y tratados durante un periodo definido por el responsable de la cookie, y que puede ir de unos minutos a varios años.

Cookies de análisis: Son aquéllas que bien tratadas por nosotros o por terceros, nos permiten cuantificar el número de usuarios y así realizar la medición y análisis estadístico de la utilización que hacen los usuarios del servicio ofertado. Para ello se analiza su navegación en nuestra página web con el fin de mejorar la oferta informativa, productos o servicios que le ofrecemos.

Cookies publicitarias: Son aquéllas que permiten la gestión, de la forma más eficaz posible, de los espacios publicitarios que, en su caso, el editor haya incluido en una página web, aplicación o plataforma desde la que presta el servicio solicitado en base a criterios como el contenido editado o la frecuencia en la que se muestran los anuncios.

Asimismo es posible que al visitar alguna pagina web o al abrir algún email donde se publique algún anuncio o alguna promoción sobre nuestros productos o servicios se instale en tu navegador alguna cookie que nos sirve para mostrarte posteriormente publicidad relacionada con la búsqueda que hayas realizado, desarrollar un control de nuestros anuncios en relación, por ejemplo, con el numero de veces que son vistos, donde aparecen, a que hora se ven, etc

Revocación y eliminación de cookies Usted puede permitir, bloquear o eliminar las cookies instaladas en su equipo mediante la configuración de las opciones del navegador instalado en su ordenador, en caso que no permita la instalación de cookies en su navegador es posible que no pueda acceder a alguna de las secciones de nuestra web.

A continuación puede encontrar como acceder a la configuración de las cookies en los principales navegadores:

Internet Explorer: Menú Herramientas -> Opciones de Internet -> Privacidad -> Configuración. También puede consultar el soporte de Microsoft o la Ayuda del navegador. Firefox: Menú Herramientas -> Opciones -> Privacidad -> Historial -> Configuración Personalizada. También puede consultar el soporte de Mozilla o la Ayuda del navegador. Chrome: Menú Configuración -> Mostrar opciones avanzadas -> Privacidad -> Configuración de contenido. También puede consultar el soporte de Google o la Ayuda del navegador. Safari: Menú Preferencias -> Seguridad. También puede consultar el soporte de Apple o la Ayuda del navegador.

En YoVirtualizador todos los comentarios serán bienvenidos pero moderados.

Respetos guardan respetos.

El contenido irrelevante u ofensivo será eliminado.

A partir de esta modificación queda deshabilitado el servicio de comentarios de la web.

Galletas

Política de cookies

En YoVirtualizador no usamos cookies para nada, pero los servicios de discus y analytics recopilan datos en servidores ajenos a YoVirtualizador sin que yo pueda hacer nada.

Este aviso es sólo porque algún político tenía que justificar su existencia.

Si hace clic en un enlace de afiliado y compra un producto o servicio, es posible que ese comerciante nos pague una tarifa.

Política de comentarios

En YoVirtualizador todos los comentarios serán bienvenidos pero moderados.

Respetos guardan respetos.

El contenido irrelevante u ofensivo será eliminado.

Acerca de YoVirtualizador

YoVirtualizador es la marca de varios proyectos

Podcast de informática profesional. Canal de Youtube sobre el blog, el podcast y de temática profesional. Blog de contenido diverso, con temática BOFH y técnica.

Gracias por la lectura.