
- package: tis-rsat
- name: RSAT
- version: 2.0-5
- categories: Utilities,System and network
- maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
- editor: Microsoft
- licence: wapt_public
- locale: all
- target_os: windows
- architecture: x64
- signature_date:
- size: 70.92 Mo
- homepage : https://learn.microsoft.com/windows-server/remote/remote-server-administration-tools
package : tis-rsat
version : 2.0-5
architecture : x64
section : base
priority : optional
name : RSAT
categories : Utilities,System and network
maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ
description : The Remote Server Administration Tools (RSAT) is a set of remote administration tools that enable efficient management of Windows servers from a workstation
depends :
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.3
sources : MVLSC
installed_size :
impacted_process :
description_fr : Les Outils d'administration de serveur distant (RSAT) est un ensemble d'outils d'administration à distance permettant de gérer les serveurs Windows à partir d'un poste de travail
description_pl : Remote Server Administration Tools (RSAT) to zestaw narzędzi do zdalnej administracji, które umożliwiają wydajne zarządzanie serwerami Windows ze stacji roboczej
description_de : Die Remote Server Administration Tools (RSAT) sind eine Reihe von Remote-Verwaltungstools, die eine effiziente Verwaltung von Windows-Servern von einer Workstation aus ermöglichen
description_es : Las Herramientas de administración remota de servidores (RSAT) son un conjunto de herramientas de administración remota que permiten una gestión eficaz de los servidores Windows desde una estación de trabajo
description_pt : As Ferramentas de Administração Remota do Servidor (RSAT) são um conjunto de ferramentas de administração remota que permitem a gestão eficiente de servidores Windows a partir de uma estação de trabalho
description_it : Remote Server Administration Tools (RSAT) è un insieme di strumenti di amministrazione remota che consentono di gestire in modo efficiente i server Windows da una stazione di lavoro
description_nl : De Remote Server Administration Tools (RSAT) is een set hulpprogramma's voor beheer op afstand waarmee Windows-servers efficiënt kunnen worden beheerd vanaf een werkstation
description_ru : Remote Server Administration Tools (RSAT) - это набор инструментов удаленного администрирования, которые позволяют эффективно управлять серверами Windows с рабочей станции
audit_schedule :
editor : Microsoft
keywords : windows,server,rsat,remote,administration,tools
licence : wapt_public
homepage : https://learn.microsoft.com/windows-server/remote/remote-server-administration-tools
package_uuid : e13c682e-fe3f-4eb2-90f5-7e8cc76bda2d
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version : 10.0.22621
max_os_version :
icon_sha256sum : a119cfff0858066f225da3f24ef2c784457395f5222f9249c110f675ca116678
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature : eKPGpcqsPPaDaU8wIh+g2wHPGio/alAOmUmqBfVuzYfwWpFdgDpowMy8IgwC+3ziKMeFpeLnr6gBFKz+PWtzZIRIEL4yxOm6i8w7cizMWocZtQvkQDlTC51APYxihlzrciNUjACrqxnKHx8rZc8WLX6sZFZ7hLg/Nf7KU0BTz5MrvT3x7rLRPeGd8HkbWsjCvtIN8UEv9ERqS/+9+SkSkFQt2imAPCfNun/XUnwTpoRJ4EYIvF+sub0bnXeuBUsg5jEDTsDELFOoREhNXT7zteeme9RGKhfbAsYiMPHwoLrVSv//P+75Pyw0gmQGLZJQJ854tqZ0KRyP1+vXbR2kWg==
signature_date : 2024-04-17T16:00:08.660881
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
# -*- coding: utf-8 -*-
from setuphelpers import *
import pprint
rsat_capabilities = [
"Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0",
"Rsat.BitLocker.Recovery.Tools~~~~0.0.1.0",
"Rsat.CertificateServices.Tools~~~~0.0.1.0",
"Rsat.DHCP.Tools~~~~0.0.1.0",
"Rsat.Dns.Tools~~~~0.0.1.0",
"Rsat.FailoverCluster.Management.Tools~~~~0.0.1.0",
"Rsat.FileServices.Tools~~~~0.0.1.0",
"Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0",
"Rsat.IPAM.Client.Tools~~~~0.0.1.0",
"Rsat.LLDP.Tools~~~~0.0.1.0",
"Rsat.NetworkController.Tools~~~~0.0.1.0",
"Rsat.NetworkLoadBalancing.Tools~~~~0.0.1.0",
"Rsat.RemoteAccess.Management.Tools~~~~0.0.1.0",
"Rsat.RemoteDesktop.Services.Tools~~~~0.0.1.0",
"Rsat.ServerManager.Tools~~~~0.0.1.0",
"Rsat.Shielded.VM.Tools~~~~0.0.1.0",
"Rsat.StorageMigrationService.Management.Tools~~~~0.0.1.0",
"Rsat.StorageReplica.Tools~~~~0.0.1.0",
"Rsat.SystemInsights.Management.Tools~~~~0.0.1.0",
"Rsat.VolumeActivation.Tools~~~~0.0.1.0",
"Rsat.WSUS.Tools~~~~0.0.1.0",
]
# rsat_capabilities_to_install = rsat_capabilities
rsat_capabilities_to_install = [
"Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0",
"Rsat.BitLocker.Recovery.Tools~~~~0.0.1.0",
"Rsat.Dns.Tools~~~~0.0.1.0",
"Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0",
"Rsat.LLDP.Tools~~~~0.0.1.0",
"Rsat.RemoteAccess.Management.Tools~~~~0.0.1.0",
]
def install():
# Declaring local variables
try:
rsat_binaries_zip = glob.glob("rsat_*.zip")[0]
unzip(rsat_binaries_zip, ".")
rsat_binaries_dir = rsat_binaries_zip.split(".")[0]
except:
rsat_binaries_dir = glob.glob("rsat_*")[0]
rsat_source_path = makepath(os.getcwd(), rsat_binaries_dir, "LanguagesAndOptionalFeatures")
app_error = False
# Installing the package
with EnsureWUAUServRunning():
for capability in rsat_capabilities_to_install:
print("Installing: %s" % capability)
try:
run_powershell('Add-WindowsCapability -Online -Name "%s" -LimitAccess -Source "%s"' % (capability, rsat_source_path))
except:
print("Installation failed for: %s" % capability)
app_error = True
if app_error:
error("RSAT capabilities to install do not succeed completely. You may need to restart the computer and try again")
def uninstall():
# Declaring local variables
app_error = False
# Uninstalling the package
print("Uninstalling all RSAT features")
with EnsureWUAUServRunning():
for capability in rsat_capabilities:
print("Uninstalling: %s" % capability)
try:
run_powershell('Remove-WindowsCapability -Online -Name "%s"' % capability)
except:
print("Uninstallation failed on: %s" % capability)
app_error = True
if app_error and not params.get("running_as_luti"):
error("RSAT capabilities uninstallation do not succeed completely. You may need to restart the computer and try again")
def audit():
# Manually check in PowerShell: Get-WindowsCapability -online | ? Name -like Rsat* | FT
print("Showing installed RSAT features:")
pprint.pprint(run_powershell("Get-WindowsCapability -Online | Where Name -like Rsat* | Where State -Like Installed | Select Name,RestartNeeded"))
print("Showing NOT installed RSAT features:")
pprint.pprint(
run_powershell("Get-WindowsCapability -Online | Where Name -like Rsat* | Where State -NotLike Installed | Select Name,RestartNeeded")
)
return "OK"
# -*- coding: utf-8 -*-
from setuphelpers import *
import waptguihelper
import json
r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
Procedure:
1- Download Windows 10+ FoD/LoF ISO on Microsoft VLSC
2- Run the update_package()
3- Adapt package host capabilities then build-upload the package
"""
def update_package():
# Declaring local variables
capabilities_list = [
"ActiveDirectory",
"BitLocker",
"CertificateServices",
"DHCP",
"DNS",
"FailoverCluster",
"FileServices",
"GroupPolicy",
"IPAM",
"LLDP",
"NetworkController",
"NetworkLoadBalancing",
"RemoteAccess",
"RemoteDesktop",
"ServerManager",
"Shielded",
"StorageMigrationService",
"StorageReplica",
"SystemInsights",
"VolumeActivation",
"WSUS",
]
mandatory_files = ["FoDMetadata_", "Conditions", "Neutral"]
mandatory_capabilities_files = ["~~"]
# default_lang_list = ["fr-fr", "en-us"]
# Interacting differently with Luti
if params.get("running_as_luti"):
latest_bin = "rsat_windows11v22h2_x64_en-us_fr-fr.zip"
download_url = "http://srvtemplates.ad.tranquil.it/binary_cache/" + latest_bin
sha256 = "eb50653c3b85598adfa5fa03ee9b400e4b6985e475d508e133446844fcaa513e"
wget(download_url, latest_bin, sha256=sha256)
return "OK"
# Asking for iso path
iso_path = waptguihelper.filename_dialog(
"Please provide the desired FoD iso file for the requested OS Version - %s" % control.package,
"",
"FoD_LoF.ISO",
"ISO Files|*.ISO",
) # os.getcwd()
# iso_path = r"C:\temp\SW_DVD9_Win_11_21H2_x64_MultiLang_LangPackAll_LIP_LoF_X22-62148.ISO"
# Asking for langs
lang_json = waptguihelper.grid_dialog(
"Please selected the desired language(s). You can duplicate lines with CTRL + C, CTRL + V",
json.dumps([{"lang": "en-us"}, {"lang": "fr-fr"}]),
waptguihelper.GRT_SELECTED,
)
lang_list = []
for l in lang_json:
lang_list.append(l["lang"])
if iso_path is None:
error("Please provide an ISO")
# Extract with conditions
conditionnal_include_list = mandatory_capabilities_files + lang_list
rsat_binaries_zip = "rsat_%s_%s.zip" % (basedir.split(os.path.sep)[-1], "_".join(i for i in lang_list))
rsat_binaries_dir = rsat_binaries_zip.split(".")[0]
for d in glob.glob("*rsat_*"):
if isdir(d):
remove_tree(d)
for f in glob.glob("*rsat_*.zip"):
if isfile(f):
remove_tree(f)
if Version(control.min_os_version) >= Version(WindowsVersions.Windows11):
for f in mandatory_files:
unzip_with_7zip(iso_path, rsat_binaries_dir, "**/*%s*.cab".lower() % f, recursive=True)
for f in lang_list:
unzip_with_7zip(iso_path, rsat_binaries_dir, "LanguagesAndOptionalFeatures/**/*%s*.cab".lower() % f, recursive=True)
for fc in conditionnal_include_list:
for cap in capabilities_list:
unzip_with_7zip(iso_path, rsat_binaries_dir, "**/*%s*%s*.cab".lower() % (cap, fc), recursive=True)
else:
for f in mandatory_files:
unzip_with_7zip(iso_path, rsat_binaries_dir, "*%s*.cab".lower() % f, recursive=True)
for f in lang_list:
unzip_with_7zip(iso_path, rsat_binaries_dir, "**/*%s*.cab".lower() % f, recursive=True)
for fc in conditionnal_include_list:
for cap in capabilities_list:
unzip_with_7zip(iso_path, rsat_binaries_dir, "*%s*%s*.cab".lower() % (cap, fc), recursive=True)
print("You may want to create manually a zip called: %s" % rsat_binaries_zip)
9e3198ad4ba2fd21cb454aea98878373b0e33da62f31e2ddc6d76949d93d7e5e : setup.py
eb50653c3b85598adfa5fa03ee9b400e4b6985e475d508e133446844fcaa513e : rsat_windows11v22h2_x64_en-us_fr-fr.zip
096e4c24fc9d986a18965e86f09c9246c17d198c6ca123200f1d1f01ce4707bb : update_package.py
a119cfff0858066f225da3f24ef2c784457395f5222f9249c110f675ca116678 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
87c65d8b97c82bcddb97a2a6de650ba2193d18774a29e0db2dc28432e5da1851 : WAPT/changelog.txt
bc34697619c73a2f8d8c357152de3361ff7f2917a17f6a7f605f8d252f5b5fe5 : luti.json
5ccfdf68d39803ec13dce0fcf08987ba6e863cd9221823c2b09bc4ddfa7180d2 : WAPT/control
2.0-2
First release for min_wapt_version 2.2