Message d'erreur commande Remove-CimInstance

Bonjour, j'ai récupéré une commande pour supprimer les profils à l'exception des comptes admin et défaut. Au lancement de la commande j'obtiens un message qui me dit "modification de la stratégie d'execution blabla voulez vous quand meme modifier la stratégie. j'ajoute donc au début  la commande pour autoriser

 
Set-ExecutionPolicy Unrestricted
$AccountsToKeep = @('admin','administrator','Public','default')
Get-CimInstance -Class Win32_UserProfile | Where-Object { $_.LocalPath.split('\')[-1] -notin $AccountsToKeep } | Remove-CimInstance
pause

ca se lance bien, les actions s'executent mais j'obtiens plusieurs erreur du type Remùove-CimInstance le processus ne peut pas accéder au fichier car il est utilisé par un autre processus ou accès refusé

Set-ExecutionPolicy : Windows PowerShell a correctement mis à jour votre stratégie d’exécution,
mais ce paramétrage est remplacé par une stratégie définie dans un contexte plus spécifique.
Votre environnement va donc conserver sa stratégie d’exécution actuelle, Bypass. Tapez «
Get-ExecutionPolicy -List» pour afficher les paramètres de stratégie d’exécution. Pour plus
d’informations, voir «Get-Help Set-ExecutionPolicy».
Au caractère U:\Delprof2\delprof_test3.ps1:1 : 1
+ Set-ExecutionPolicy Unrestricted
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Windows / Chrome 104.0.5112.102

8 réponses

  1. Salut,

    c'est pour Windows ça non ?

    Quel rapport avec un NAS ?

    Tu as un NAS sous Windows ?


    0
    1. Modérateur

      Heu oui des NAS sous windows ça existe, j'en ai eu un en Windows Server Home Edition et ça marchais pas trop mal.

      Mais ici c'est surtout parce que je pense que trouver la bonne catégorie, soit Windows Serveur qui n'existe pas, rendait le choix compliqué.

      0
  2. oups me suis trompé de categorie. Cest pas du tout pour NAS mais sous win10 

    je pensais avoir posté dans le forum dédié aux command powershell

    0
    1. Modérateur

      bonjour

      à priori ce script est lancé avec des droits insuffisants que pour modifier le niveau d'exécution.


      0
      1. Ok

        Je suis pourtant bien en compte admin du domaine. Il faut élever des droits sur certaines clés  de registre ou autre chose?

        0
        1. Modérateur

          unrestricted est prévu pour les machines non-windows.

          Essaye avec les policy par défaut.

          Pour savoir les policy appliquées get-ExecutionPolicy -List


          0
          1. ok. j'obtiens cela :

            Scope ExecutionPolicy ----- ---------------

            MachinePolicy Undefined

            UserPolicy Undefined

            Process Undefined

            CurrentUser Undefined

            LocalMachine Undefined

            0
            1. Modérateur

              alors essaye avec Set-Execution policy remotesigned


              0
              1. cest pareil jobtiens les messages d'erreur 

                mais j'en conclu que ca correspond aux profils que je lui demande d'ignorer. 

                j'ai rajouté au début du script une command qui ignore les erreurs et c'est ok. C'est pas clean mais ca marche

                $ErrorActionPreference = 'SilentlyContinue'

                0