Página 1 de 1

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

Publicado: 11 de junio de 2025 - 11:34
por pierre.briec
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

Re: tis-with-secure-agent-desktop y configuración MSI

Publicado: 11 de junio de 2025 - 13:27
por blemoigne
Buen día,
¿Separaste las "propiedades" con comas?

Código: Seleccionar todo

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

Re: tis-with-secure-agent-desktop y configuración MSI

Publicado: 16 de junio de 2025 - 10:14
por blemoigne
Hola,
¿se ha solucionado el problema?

Re: tis-with-secure-agent-desktop y configuración MSI

Publicado: 17 de junio de 2025 - 09:34
por t.heroult
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 "*"'

Re: tis-with-secure-agent-desktop y configuración MSI

Publicado: 10 de julio de 2025 - 15:09
por dcardon
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