1 votes

Un script Powershell livré via SCCM 2012 pour supprimer complètement les applications Windows 8.1

Je cherche des conseils pour effectuer la tâche ci-dessus.

Mon script Powershell est comme ci-dessous, le script supprime actuellement une application spécifique nommée.

$AppsToDelete="*Microsoft.WindowsReadingList*"
 Foreach ($AppName in $AppsToDelete)
 {
     get-appxprovisionedpackage -online | where packagename -like $AppName | remove-appxprovisionedpackage -Online
     Get-AppxPackage -name $AppName -allusers | Remove-AppxPackage
 }

Le programme utilisé par SCCM2012 pour exécuter le script est le suivant : -.

PowerShell.exe -ExecutionPolicy UnRestricted -File .\delappsreadinglistonly.ps1

J'ai créé un programme dans SCCM 2012 et l'ai déployé chez un client.

Le programme est configuré pour s'exécuter en tant qu'utilisateur et non en tant que système,

Le fichier EXECMGR.log m'indique que le script est reçu par le client et s'est exécuté avec succès, code de sortie = 0, l'état d'exécution est Success.

Cela dit, la tuile Liste de lecture est toujours présente sur l'écran de démarrage ( Metro ?), l'application Liste de lecture apparaît toujours dans la liste alphabétique des applications par nom et peut être exécutée, et divers dossiers existent toujours dans le dossier de l'application Liste de lecture. C:\program fichiers \windowsapps\

Des conseils seraient appréciés.

1voto

MAK Points 12571

Je vois deux problèmes potentiels avec votre script :

  1. Les appels à -AppxProvisionedPackage nécessitent très probablement une élévation. Lorsque vous exécutez votre script en tant qu'utilisateur, il lance probablement une exception.
  2. L'appel à Get-AppxPackage -allusers nécessite des droits d'administrateur. La documentation pour -allusers lit "pour utiliser ce paramètre, vous devez exécuter la commande en utilisant les droits d'administrateur".

Je ne vois pas très bien quel est votre objectif. Voici comment je gère le fouillis de tuiles de l'écran de démarrage de Windows 8.1 :

  • Créez une application SCCM avec les caractéristiques suivantes :
    • pas d'installateur
    • désinstallateur qui appelle Remove-AppxPackage pour une liste d'applications courantes
    • détection script pour cette liste d'applications
  • Déployer l'application avec l'action de désinstallation sur le site concerné. utilisateurs .

J'utilise cette stratégie parce qu'elle permet d'être plus précis quant aux applications disponibles pour certains utilisateurs à l'avenir, si cela s'avère nécessaire.

Lorsqu'un utilisateur auquel cette application est déployée pour être retirée est connecté, CcmExec détecte éventuellement l'application et invoque la commande de désinstallation. Une fois la commande de désinstallation invoquée, les applications ne doivent plus être visibles ou disponibles pour l'utilisateur.

Uninstall-Application.ps1

Voici le corps de la désinstallation script que j'utilise. Vous devez faire attention à la façon dont vous configurez les script PowerShell qui sont invoqués pour l'installation ou la désinstallation. Les codes de sortie sont un peu difficiles à obtenir de manière fiable à partir du script. .

$appList =  'Microsoft.BingSports',
            # ...longlist of other apps...
            'Microsoft.WindowsReadingList'
Get-AppxPackage | 
    ? { $_.Name -in $appList } | 
    % { Remove-AppxPackage $_.PackageFullName }

Detect-Application.ps1

Voici le corps du script de détection que j'utilise. Notez qu'il y a quelques pièges à l'utilisation des script de détection PowerShell :

Si vous faites tout cela, les scripts de détection PowerShell fonctionnent à merveille pour une détection compliquée, chirurgicale ou non conventionnelle comme celle-ci.

    $appList =  'Microsoft.BingSports',
            # ...longlist of other apps...
            'Microsoft.WindowsReadingList'
    Get-AppxPackage | 
    ? { $_.Name -in $appList }

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X