[RESUELTO] tis-with-secure-agent-desktop y configuraciones MSI

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Respuesta
Pierre Briec
Mensajes: 7
Inscripción: 2 de junio de 2025 - 10:42

11 de junio de 2025 - 11:34

Hola,

me gustaría obtener información sobre el paquete tis-withsecure-agent-desktop.
Tengo problemas con los parámetros MSI y cómo integrarlos en el paquete.
En setup.py, lo modifiqué de la siguiente manera:

properties={
"VOUCHER": "xxxx-xxxx-xxxx-xxxx-xxxx"
#"UNIQUE_SIGNUP_ID": "smbios"
}

Desafortunadamente, si intento agregar otro parámetro, la instalación falla después de regenerar el paquete. ¿
Alguien podría ayudarme con esto? Gracias de antemano,
Pierre
Última edición realizada por pierre.briec el 11 de julio de 2025 a las 16:24, editado 1 vez.
Avatar de usuario
blemoigne
Mensajes: 176
Inscripción: 17 de julio de 2020 - 11:29

11 de junio de 2025 - 13:27

Buen día,
¿Separaste las "propiedades" con comas?

Código: Seleccionar todo

properties={
"VOUCHER": "xxxx-xxxx-xxxx-xxxx-xxxx",
"UNIQUE_SIGNUP_ID": "smbios"
}
Avatar de usuario
blemoigne
Mensajes: 176
Inscripción: 17 de julio de 2020 - 11:29

16 de junio de 2025 - 10:14

Hola,
¿se ha solucionado el problema?
Avatar de usuario
t.heroult
Mensajes: 304
Inscripción: 8 de diciembre de 2020 - 10:13 a. m.

17 de junio de 2025 - 09:34

Para WithSecure, uso un script de PowerShell proporcionado por WithSecure.
Por lo tanto, mi paquete solo contiene el archivo InstallWithSecure_S1.ps1, y la instalación desde setup.py solo contiene la línea:

Código: Seleccionar todo

run('Powershell -WindowStyle Hidden -ExecutionPolicy ByPass -File "InstallWithSecure_S1.ps1"')
Aquí está el contenido del script (sólo necesitas cambiar el número de serie).

Código: Seleccionar todo

Clear-Host
# =======================================================
#  ********** Variables
# =======================================================

$dossierinstall = "c:\windows\temp\"
$CP = "installer"

$serie = "XXXX-XXXX-XXXX-XXXX-XXXX"
$valeur = (Get-ItemProperty -Path "HKLM:\SOFTWARE\MIcrosoft\Windows NT\CurrentVersion"  -Name ProductName).ProductName

if ($valeur -like "*Server*") {
    $serie = "XXXX-XXXX-XXXX-XXXX-XXXX"
}

$fsecurecp = $dossierinstall + $CP + ".exe"

# =======================================================
# ********** Verification deja installe
# =======================================================

$WantFile1 = "C:\Program Files (x86)\F-Secure\PSB\fshoster32.exe"
$WantFile2 = "C:\Program Files\F-Secure\PSB\fshoster32.exe"
$FileExists1 = Test-Path $WantFile1
$FileExists2 = Test-Path $WantFile2

if ( $FileExists1 -eq $True ) { Exit }
if ( $FileExists2 -eq $True ) { Exit }

# =======================================================
# ********** Telechargement
# =======================================================

$FileExists = Test-Path $dossierinstall
If ($FileExists -eq $False) { New-Item -path $dossierinstall -ItemType directory }

$ChkFile = $fsecurecp
$FileExists = Test-Path $ChkFile

If ($FileExists -eq $False) {
    Invoke-WebRequest -Uri http://download.withsecure.com/PSB/latest/ElementsAgentInstaller.exe -OutFile "$fsecurecp"
}

# =======================================================
# ********** D�sinstallation S1
# =======================================================

$ProcessSA = Get-Process SentinelAgent -ErrorAction SilentlyContinue
if ($ProcessSA) {
	#Check Administrator Privilege
	$user = [Security.Principal.WindowsIdentity]::GetCurrent();
	$admin=(New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)  

	if ($admin -eq $false) {
		"Please run the script as Administrator"
		Start-Sleep -s 10
	}

	#Define the API Token
	#To automate the script, get the API Token from management, enter it here, and save the script.
	$token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
	$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
	$headers.Add("Authorization", "APIToken $token")
	#where $token is your API token. For example, "APIToken abcdefg...."

	#Gets Management URL
	$config = & 'C:\Program Files\SentinelOne\Sentinel*\SentinelCtl.exe' config | select-string -Pattern "server.mgmtServer"
	$mgmt = $config -split ' ' | select -last 1

	#Gets passphrase for Endpoint
	$uuid = & 'C:\Program Files\SentinelOne\Sentinel*\SentinelCtl.exe' agent_id
	$passphrase_url = $mgmt + "/web/api/v2.1/agents/passphrases?uuids="+"$uuid"
	$passphrase = (Invoke-RestMethod ("$passphrase_url") -Method 'GET' -Headers $headers).data.passphrase

	#Start the Uninstallation
	Write-Host "Starting Uninstallation Process..." 
	Write-Host "This Process may take a while. Please do not close the Window."
	& 'C:\Program Files\SentinelOne\Sentinel*\uninstall.exe' /uninstall /norestart /q /k "$passphrase"
}

# =======================================================
# ********** Install
# =======================================================

$Command_line='"' + $fsecurecp + '"'
Start-Process -FilePath $Command_line -Wait -ArgumentList "--silent", "--voucher $serie", '--skip-sidegrade "*"'
Última edición realizada por t.heroult el 10 de septiembre de 2025 a las 09:41, editado 1 vez.
Servidor: WAPT Enterprise 2.6.1.17765 en Debian
Consolas: Windows 10 y 11
Infraestructura: Windows

¿Sabías que? ¡Cuando los peces loro experimentan la esmoltificación, su mecanismo de osmorregulación se invierte!
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

10 de julio de 2025 - 15:09

Hola Thomas,

es curioso, el script que publicaste desinstala automáticamente SentinelOne recuperando la contraseña de desinstalación del servidor de administración de SentinelOne...

y también descarga WithSecure si es necesario.

Así que, básicamente, el paquete WAPT proporcionado debería funcionar si el valor de VOUCHER se introduce correctamente

. Saludos,

Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
Respuesta