tis-powershell

7.5.3-23
PowerShell est un outil/framework d'automatisation et de configuration. Il comprend un shell de ligne de commande, un langage de script associé et un framework pour le traitement des cmdlets
28726 téléchargements

Voir le résultat de la construction
tis-powershell icon
  • package : tis-powershell
  • name : PowerShell
  • version : 7.5.3-23
  • categories : System and network,Development
  • maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ
  • editor : Microsoft
  • licence : MIT
  • locale : all
  • target_os : windows
  • impacted_process : pwsh
  • architecture : x64
  • signature_date : 2025-09-10 16:29
  • size : 113.74 Mo
  • installed_size : 270.17 Mo
  • homepage : https://docs.microsoft.com/powershell/
package           : tis-powershell
version           : 7.5.3-23
architecture      : x64
section           : base
priority          : optional
name              : PowerShell
categories        : System and network,Development
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : PowerShell is an automation and configuration tool/framework. It includes a command-line shell, an associated scripting language and a framework for processing cmdlets
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.1
sources           : https://github.com/PowerShell/PowerShell/releases
installed_size    : 270172160
impacted_process  : pwsh
description_fr    : PowerShell est un outil/framework d'automatisation et de configuration. Il comprend un shell de ligne de commande, un langage de script associé et un framework pour le traitement des cmdlets
description_pl    : PowerShell to narzędzie/framework do automatyzacji i konfiguracji. Zawiera powłokę wiersza poleceń, powiązany język skryptowy i ramy do przetwarzania cmdletów
description_de    : PowerShell ist ein Automatisierungs- und Konfigurationstool/Framework. Es umfasst eine Befehlszeilen-Shell, eine zugehörige Skriptsprache und ein Framework für die Verarbeitung von Cmdlets
description_es    : PowerShell es una herramienta/marco de automatización y configuración. Incluye un shell de línea de comandos, un lenguaje de scripting asociado y un marco para procesar cmdlets
description_pt    : PowerShell é uma ferramenta/quadro de automação e configuração. Inclui uma shell de linha de comando, uma linguagem de scripting associada e uma estrutura para processar cmdlets
description_it    : PowerShell è uno strumento/framework di automazione e configurazione. Include una shell a riga di comando, un linguaggio di scripting associato e un framework per l'elaborazione di cmdlet
description_nl    : PowerShell is een tool/framework voor automatisering en configuratie. Het omvat een commandoregel, een bijbehorende scripttaal en een raamwerk voor het verwerken van cmdlets
description_ru    : PowerShell - это инструмент/фреймворк автоматизации и конфигурирования. Он включает в себя оболочку командной строки, соответствующий язык сценариев и структуру для обработки команд
audit_schedule    : 
editor            : Microsoft
keywords          : powershell,power,shell,core,powershell6,powershell7
licence           : MIT
homepage          : https://docs.microsoft.com/powershell/
package_uuid      : 7fef59f3-9981-44c7-8bf8-f22741452fa5
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://github.com/PowerShell/PowerShell/tree/master/CHANGELOG
min_os_version    : 6.3
max_os_version    : 
icon_sha256sum    : f6328cb3e50d5a2c14f663481de0ea43f9712014ccd430db91c6b4dee2fb07ba
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2025-09-10T16:29:28.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         : JkMqWWqB0pacUrKrWvN6AXm7D5q9rPP3uaomrYV37zh0WrqVJ20pdcvE/08bO3hv1LCUTvcrF5TmkHgkN5j84xg8mYeZ/SD7CLoN50OoMjitQDeV7JWuLBN1hGuA7cuWjWmfS9ovz8ImkWh5iWLXU63n61QN+E/cByBRcxH+bNVUkWRZpdwNVBN4VaiUCpoNoDbQL1T/eS9T9HWpkYHjYdzQiVkpcoCZDD47Yie+/uaQCFva0aP3/jsegKJ+s421lidHu5EI9xV49ngk+p9sDzo8mXdwrfdi4bodn/Nt+bz9fVOCiG/GrlwaWmEzl6HIx3zoI46BHTvcGsCPAUqfqA==
# -*- coding: utf-8 -*-
from setuphelpers import *

# Installation procedure: https://docs.microsoft.com/powershell/scripting/install/installing-powershell-on-windows
# silent_args = 'ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=0 REGISTER_MANIFEST=0 ENABLE_PSREMOTING=0'


def install():
    package_prefix = control.package.split("-", 1)[0]
    pkg_pwsh5 = package_prefix + "-" + "powershell5"
    pkg_pwsh_core = package_prefix + "-" + "powershell-core"

    # Older Windows versions depends on PowerShell 5
    if windows_version() < WindowsVersions.Windows10:
        if not WAPT.is_installed(pkg_pwsh5):
            if WAPT.is_available(pkg_pwsh5):
                print("Installing: %s" % pkg_pwsh5)
                WAPT.install(pkg_pwsh5)
                WAPT.audit(pkg_pwsh5)
            else:
                error("ERROR: %s package not found on the repo, please import it" % pkg_pwsh5)
    else:
        # W10+ part
        if WAPT.is_installed(pkg_pwsh5):
            print("Forgetting: %s" % pkg_pwsh5)
            WAPT.forget_packages(pkg_pwsh5)

    # Forget Powershell Core
    if WAPT.is_installed(pkg_pwsh_core):
        print("Forgetting: %s" % pkg_pwsh_core)
        WAPT.forget_packages(pkg_pwsh_core)

    # Installing package
    bin_name = glob.glob("PowerShell-*.msi")[0]
    install_msi_if_needed(
        bin_name,
        min_version=control.get_software_version(),
    )

    # Disabling update check and telemetry
    set_environ_variable("POWERSHELL_CLI_TELEMETRY_OPTOUT", "1")
    set_environ_variable("POWERSHELL_TELEMETRY_OPTOUT", "1")
    set_environ_variable("POWERSHELL_UPDATECHECK", "Off")
    set_environ_variable("POWERSHELL_UPDATECHECK_OPTOUT", "1")
    set_environ_variable("DOTNET_CLI_TELEMETRY_OPTOUT", "1")
    set_environ_variable("DOTNET_TELEMETRY_OPTOUT", "1")
# -*- coding: utf-8 -*-
from setuphelpers import *
import waptlicences


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    git_repo = "PowerShell/PowerShell"
    api_url = f"https://api.github.com/repos/{git_repo}/releases/latest"

    arch_dict = {
        'windows-x86': '-win-x86.msi',
        'windows-x64': '-win-x64.msi'
    }

    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]

    # Getting latest version information from official sources
    print("API used is: %s" % api_url)
    json_load = wgets(api_url, proxies=proxies, as_json=True)

    for download in json_load["assets"]:
        if download["name"].endswith(arch_dict[os_type]):
            download_url = download["browser_download_url"]
            version = json_load["tag_name"].replace("v", "")
            latest_bin = download["name"]
            latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
            break

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    expected_issuer = "Microsoft Corporation"
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuer:
        error(f'Bad issuer {sign_name} != {expected_issuer} ')

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    for f in glob.glob(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated
28e23a6e3a18662b73e6fb267855f31786fb95ec943111de9e9e1338844106b4 : PowerShell-7.5.3-win-x64.msi
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
c1ad5ade9a79635d3f28cc671f73aab29b6f17775ba1beb5dbbc372800a43f12 : WAPT/changelog.txt
bfc8c9caaf36aae3e92fd7c20034b825bee6dacf0b223e841c2ab26d706511e1 : WAPT/control
f6328cb3e50d5a2c14f663481de0ea43f9712014ccd430db91c6b4dee2fb07ba : WAPT/icon.png
806d3cb354334e05d751e38d9e2a408b057d15407ff4360de8152014d6839e98 : luti.json
86d1fcb67f224cefb504e9701baecc1e727a2a00bafe04f8c351890e911b4ec7 : setup.py
cc5be38be264bd3bbe9395bbbf8ec2aa387a4d36a7cf263ab2637a1c3273d94f : update_package.py
7.3.4-22
===
Disabling update check and telemetry

7.2.7-21
===
Last release supporting Windows 7/8.0

7.3.1-20
===
Cleanup old packages

7.2.6-15
===
Migrate package name from tis-powershell-core to tis-powershell, the code have been adapted for it on Windows