DSInternals PowerShell Module
Paquet d'installation silencieuse pour DSInternals PowerShell Module
7.0-2
Utilities
Utilities
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-dsinternals
- name: DSInternals PowerShell Module
- version: 7.0-2
- categories: Utilities
- maintainer: WAPT Team,Tranquil IT,Clément Baziret
- licence: opensource_free,wapt_public
- locale: all
- target_os: windows
- architecture: x86
- signature_date:
- size: 11.29 Mo
- homepage : https://www.powershellgallery.com/packages/DSInternals/
- depends:
package : tis-dsinternals
version : 7.0-2
architecture : x86
section : base
priority : optional
name : DSInternals PowerShell Module
categories : Utilities
maintainer : WAPT Team,Tranquil IT,Clément Baziret
description : The DSInternals PowerShell Module exposes several internal features of Active Directory and Azure Active Directory
depends : tis-powershell,tis-dotnetfx
conflicts :
maturity : PREPROD
locale : all
target_os : windows
min_wapt_version : 2.3
sources : https://github.com/MichaelGrafnetter/DSInternals/
installed_size :
impacted_process :
description_fr : Le module PowerShell DSInternals expose plusieurs fonctionnalités internes d'Active Directory et d'Azure Active Directory
description_pl : Moduł PowerShell DSInternals udostępnia kilka wewnętrznych funkcji Active Directory i Azure Active Directory
description_de : Das DSInternals PowerShell-Modul macht mehrere interne Funktionen von Active Directory und Azure Active Directory zugänglich
description_es : El módulo PowerShell de DSInternals expone varias características internas de Active Directory y Azure Active Directory
description_pt : O Módulo PowerShell DSInternals expõe várias funcionalidades internas do Active Directory e do Azure Active Directory
description_it : Il modulo PowerShell DSInternals espone diverse funzionalità interne di Active Directory e Azure Active Directory
description_nl : De DSInternals PowerShell-module legt verschillende interne functies van Active Directory en Azure Active Directory bloot
description_ru : Модуль DSInternals PowerShell раскрывает несколько внутренних возможностей Active Directory и Azure Active Directory
audit_schedule :
editor :
keywords : dsinternals,powershell,module,exposes,several,internal,features,active,directory,azure,active,directory
licence : opensource_free,wapt_public
homepage : https://www.powershellgallery.com/packages/DSInternals/
package_uuid : d23c69fb-8127-4e7c-b82d-8a528f8a7875
valid_from :
valid_until :
forced_install_on :
changelog : https://github.com/MichaelGrafnetter/DSInternals/releases
min_os_version : 10
max_os_version :
icon_sha256sum : 8f14830d6e9a8d005ea600473e5ecfdd3c7dbb6b0899a44e8f1d040a6b1f7162
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2026-05-28T12:02:01.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 : EHDqVxgOGlIOM3iYrSxHPNpOWE6BDpnzMg3Y8rHiAMQtPFWz3Mvi8gcoBeB7iSp08Na6m7bId9+w3+Dv12vDwmPzdPS6CpOz/2Oo/mTVMlIZ7oGJ/0h1AufYRLw6+RQaEgmx8ayox20er6+ySQLTttj6kA9kkQILbCPJ7arOaYDTWqSyZ43RIIQauWGCZm63jekaBngMYlYevKTJnRJQGxUXyVvdb3HP3oCFqFaSzmIW6M0zrHERr3SOZtEvRmhoDiXIyX+WH9Sm8y2pbUKYYAwFsTTjaGCUqmXA9VgFY3392CvRpvhC8qB8ARf7aF9BllkxK1AY5pv2ZG+07OYsww==
# -*- coding: utf-8 -*-
from setuphelpers import *
import os
import shutil
app_name = "DSInternals"
app_dir = makepath(system32(), "WindowsPowerShell", "v1.0", "Modules", app_name)
def install():
# Declaring local variables
package_version = control.get_software_version()
zip_name = glob.glob(app_name + "*.zip")[0]
print("Installing: %s (%s)" % (app_name, control.get_software_version()))
if isdir(app_dir):
remove_tree(app_dir)
mkdirs(app_dir)
# unziping archive and moving it to powershell modules folder
print("Extracting: %s to: %s" % (zip_name, app_dir))
unzipped_dir = zip_name.rsplit(".", 1)[0]
unzip(zip_name, unzipped_dir)
move_directory(makepath(unzipped_dir, app_name), app_dir)
remove_tree(unzipped_dir)
def audit():
# Declaring local variables
package_version = control.get_software_version()
if not isdir(app_dir):
print("%s is not installed" % app_name)
return "ERROR"
name = get_powershell_str("Get-Module -ListAvailable -Name %s" % app_name)
if name != app_name:
print("%s is not installed" % app_name)
return "ERROR"
version = get_powershell_str("Get-Module -ListAvailable -Name %s" % app_name, "Version")
if Version(package_version) != Version(version):
print("%s is installed but not up-to-date" % app_name)
return "WARNING"
# if everything is OK :
print("%s (%s) is installed" % (app_name, package_version))
return "OK"
def uninstall():
# Uninstalling software
if isdir(app_dir):
remove_tree(app_dir)
def move_directory(source, destination):
"""
Moves a directory safely, avoiding unnecessary subfolders.
Args:
source (str): The path of the directory to move.
destination (str): The destination path where the directory will be moved to.
Returns:
bool: True if the directory was successfully moved, False otherwise.
"""
try:
if not os.path.exists(destination):
os.makedirs(destination)
for item in os.listdir(source):
item_path = os.path.join(source, item)
if os.path.isfile(item_path):
shutil.move(item_path, destination)
elif os.path.isdir(item_path):
new_destination = os.path.join(destination, item)
move_directory(item_path, new_destination)
os.rmdir(source)
return True
except Exception as e:
print(f"ERROR: {e}")
return False
# -*- coding: utf-8 -*-
from setuphelpers import *
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
api_url = "https://api.github.com/repos/MichaelGrafnetter/DSInternals/releases/latest"
# Getting latest version information from official sources
print("API used is: %s" % api_url)
json_load = wgets(api_url, proxies=proxies, as_json=True)
version = json_load["tag_name"].replace("v", "")
for to_download in json_load["assets"]:
if "DSInternals" in to_download["name"] and ".zip" in to_download["name"]:
download_url = to_download["browser_download_url"]
latest_bin = to_download["name"]
break
version = latest_bin.split('_v')[1].split('.zip')[0]
# Downloading latest binaries
print("Latest %s version is: %s" % (control.name, version))
print("Download URL is: %s" % download_url)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin, proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
# Deleting outdated binaries
remove_outdated_binaries(latest_bin)
# Changing version of the package
if Version(version, 4) > Version(control.get_software_version(), 4):
print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
package_updated = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.set_software_version(version)
control.save_control_to_wapt()
# Validating update-package-sources
return package_updated
5dfdfc4d9f60f207c4f397e518644ac56c202d33d4363c6e739e9dda21c93f40 : DSInternals_v7.0.zip
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
cf93542f04a2f39915a59db1508454d6f1d25fecf3739dd6e5d5302692a3a7eb : WAPT/control
8f14830d6e9a8d005ea600473e5ecfdd3c7dbb6b0899a44e8f1d040a6b1f7162 : WAPT/icon.png
b9fa9da91fd57466ec6464d5d5b3d619c7935bf34a0ac00e10fbf2e008071136 : luti.json
90fe5908d340cf3fbdf1f36ade0976a51cd90d81aca4320880d0fee37a345a6a : setup.py
6d50172acd98461bf8f948d7c26936c4cf1cfe1d0f53e8058a82b026a1b6ca4b : update_package.py