Ping-Castle
Paquet d’installation silencieuse pour Ping-Castle
3.5.0.37-10
Les paquets PREPROD sont des paquets construits via LUTI.
Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.
- package: tis-ping-castle-portable
- name: Ping-Castle
- version: 3.5.0.37-10
- maintainer: Amel FRADJ
- editor: Vincent Le Toux
- licence: https://backend.pingcastle.com/Purchase
- target_os: windows
- architecture: all
- signature_date:
- size: 138.71 Mo
- homepage : https://www.pingcastle.com/
package : tis-ping-castle-portable
version : 3.5.0.37-10
architecture : all
section : base
priority : optional
name : Ping-Castle
categories :
maintainer : Amel FRADJ
description : Ping Castle is a tool designed to quickly assess the level of Active Directory security using a methodology based on risk assessment
depends :
conflicts :
maturity : PREPROD
locale :
target_os : windows
min_wapt_version :
sources : https://github.com/vletoux/pingcastle/releases
installed_size :
impacted_process :
description_fr : Ping Castle est un outil conçu pour évaluer rapidement le niveau de sécurité de l'Active Directory avec une méthodologie basée sur l'évaluation des risques
description_pl : Ping Castle to narzędzie zaprojektowane do szybkiej oceny poziomu bezpieczeństwa Active Directory przy użyciu metodologii opartej na ocenie ryzyka
description_de : Ping Castle ist ein Tool, das entwickelt wurde, um das Sicherheitsniveau von Active Directory mit einer auf Risikobewertung basierenden Methodik schnell zu bewerten
description_es : Ping Castle es una herramienta diseñada para evaluar rápidamente el nivel de seguridad de Active Directory mediante una metodología basada en la evaluación de riesgos
description_pt : O Ping Castle é uma ferramenta concebida para avaliar rapidamente o nível de segurança do Active Directory utilizando uma metodologia baseada na avaliação de riscos
description_it : Ping Castle è uno strumento progettato per valutare rapidamente il livello di sicurezza di Active Directory utilizzando una metodologia basata sulla valutazione del rischio
description_nl : Ping Castle is een hulpmiddel dat is ontworpen om snel het beveiligingsniveau van Active Directory te beoordelen met behulp van een methodologie gebaseerd op risicobeoordeling
description_ru : Ping Castle - это инструмент, предназначенный для быстрой оценки уровня безопасности Active Directory с помощью методики, основанной на оценке рисков
audit_schedule :
editor : Vincent Le Toux
keywords :
licence : https://backend.pingcastle.com/Purchase
homepage : https://www.pingcastle.com/
package_uuid : 9bf73831-ba9b-4051-8c4e-48b77c71a364
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : dfcbc28f1f71e9edcf48ebb1ea4ef60aca3658739067c78e999b2c995230b6ca
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2026-02-05T18:25:54.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : J6Xly1KrcfxjVfeygiJjzWa7I7w0FNChCkdWKTwPxO+LIhbvgybXzcXiDaIhar6pqFE+dRVXCI8qu9Q/VVQHts/30pv6CQbPxM6xqOMJ/BoK6NKgjLnn5py62N9kjkk/vTTFFWr1W3+WIFR12TPoy9965pDBx/O5MEHrY82Ehbc0Q963FFbrXa66O1FR52eKZelSVJrLUzMkmtwSQYMwCJ6Uf50QvfRyL7T60IvZoYZT+LAEpwUNgxSX3c7Qa4pbHVqPZxp0C3ZRlS2IopAQQStNIdmqak2EZfWM0kb73ghIsYwrlgzI765/1/3jB5EYjMG0zqCRSFQ0XQ+Z73Okew==
# -*- coding: utf-8 -*-
from setuphelpers import *
import glob
import os
app_name = "PingCastle"
app_dir = makepath(programfiles, app_name)
app_path = makepath(app_dir, "pingCastle.exe")
audit_version = False
def install():
# Find the zip file
zip_name = glob.glob(f"{app_name}*.zip")[0]
unzip_dest = makepath(".", "temp_dezip")
# Remove the temporary directory if it already exists
if isdir(unzip_dest):
remove_tree(unzip_dest)
# Extract the zip file
print(f"Extracting: {zip_name} to: {unzip_dest}")
unzip(zip_name, unzip_dest)
# List the contents of the temporary directory
extracted_files = os.listdir(unzip_dest)
print(f"Contents of the temporary directory after extraction: {extracted_files}")
# Find the name of the extracted directory or the extracted files
if not extracted_files:
raise Exception("No extracted files or directories found")
# If the first extracted item is a directory, use that directory, otherwise use unzip_dest
first_extracted_item = makepath(unzip_dest, extracted_files[0])
if isdir(first_extracted_item):
unzipped_dir = first_extracted_item
else:
unzipped_dir = unzip_dest
# Verify that the extracted directory exists
if not isdir(unzipped_dir):
raise Exception(f"Invalid source directory for copytree2: {unzipped_dir}")
# Remove the old application directory if it exists
if isdir(app_dir):
remove_tree(app_dir)
# Move the new extracted directory or files to the final installation directory
copytree2(unzipped_dir, app_dir, onreplace=default_overwrite)
# Remove the temporary directory
remove_tree(unzip_dest)
# Create custom shortcuts
create_programs_menu_shortcut(app_name, target=app_path,wDir="%userprofile%")
create_desktop_shortcut(app_name, target=app_path,wDir="%userprofile%")
def audit():
# Auditing software
audit_status = "OK"
installed_version = get_file_properties(app_path).get("FileVersion", "")
if Version(installed_version) < Version(control.get_software_version()) and audit_version:
print("%s is installed in version (%s) instead of (%s)" % (app_name, installed_version, control.get_software_version()))
audit_status = "WARNING"
elif isdir(app_dir) and not dir_is_empty(app_dir):
print("%s (%s) is installed" % (app_name, installed_version))
audit_status = "OK"
else:
print("%s is not installed" % app_name)
audit_status = "ERROR"
return audit_status
def uninstall():
# Uninstalling software
killalltasks(ensure_list(control.impacted_process))
if isdir(app_dir):
remove_tree(app_dir)
remove_programs_menu_shortcut(app_name)
remove_desktop_shortcut(app_name)
from setuphelpers import *
import requests
import re
import json
def update_package():
# Déclarer les variables locales
result = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
git_repo = "vletoux/pingcastle"
url_api = f"https://api.github.com/repos/{git_repo}/releases/latest"
# Getting latest version information from official sources
print("API used is: %s" % url_api)
json_load = json.loads(wgets(url_api, proxies=proxies))
for download in json_load["assets"]:
if download["browser_download_url"].endswith('.zip') :
url_dl = download["browser_download_url"]
version = json_load["tag_name"].replace("v","")
filename = download["name"]
break
if not isfile(filename):
package_updated = True
wget(url_dl,filename,proxies=proxies)
#nettoyer les fichiers temporaires
for f in glob.glob('*.zip'):
if f != filename:
remove_file(f)
control.set_software_version(version)
control.save_control_to_wapt()
cb0c5300935e2b22bf3f036e498b07f85f0704b3144ff0b2c5471958438e475f : PingCastle_3.5.0.37.zip
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
0d9a8733fe5d0aa3206e8a2d31943d8f29dabf321958e131a900c10e5014a013 : WAPT/control
dfcbc28f1f71e9edcf48ebb1ea4ef60aca3658739067c78e999b2c995230b6ca : WAPT/icon.png
0ce10952113e6101c8f61bdd849fd2bec71fa819386929a0803c11f28a3bb402 : luti.json
df529e15e41546597cd9d8f2efff2c34db0eeee86aa41491306f66bc1d228f49 : setup.py
0bdb1ff75acdaf082f2a7919c731563d04ca02bc6a4e6189542a6115fe08ab5c : update_package.py