Aller au contenu

SCRIPT - vider corbeille


Arghotien

Messages recommandés

Bonjour,

Je viens vers vous car j'ai quasiment aucune notion en développement :ane:

Je cherche actuellement à faire un petit script me permettant de vider la corbeille de mes utilisateurs en TSE à la fermeture de session.

J'ai trouvé la ligne de code suivante sur le net : rd /s c:\$RECYCLE.BIN /q

Évidement, cette ligne fonctionne à condition que le script soit lancé en administrateur.

Le problème étant que mes utilisateurs ne sont pas administrateurs.

J'ai donc cherché une astuce permettant de lancer le script sans les droits administrateurs, je suis tombé sur le script suivant, celui ci permet visiblement de lancer ma ligne de commande sans avoir les droits d'admin mais à condition que l'UAC soit désactivé.

Pouvez vous m'aider à déchiffrer grossièrement la fonction du script suivant que j'ai bien du mal à décrypter :

Citer

@echo off
:-------------------------------------
REM  -->  Verification des permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> Erreur vous ne possedez pas les droits admin
if '%errorlevel%' NEQ '0' (
    echo Verification des privileges administrateur
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    set params = %*:"="
    echo UAC.ShellExecute "%~s0", "%params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------
rd /s c:\$RECYCLE.BIN /q
:fin

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Essaie avec cleanmgr.exe (de base dans windows), ya peut etre moyen avec des parametres de lancer ce nettoyage automatiquement (et contrairement au del du c:\recycle.bin, je pense que ca supprimera juste la corbeille utilisateur, et pas celles de tout le monde, d'où ton besoin de droit admins d'ailleurs)

Lien vers le commentaire
Partager sur d’autres sites

Au final je pense avoir n petit script powershell qui visiblement fonctionne pas mal même en GPO.

je l'ai testé sur un serveur de test sans problème, à voir sur une ferme TSE.

Pour ceux que ça intéresse :

# Clear-RecycleBinItems.ps1
$Shell = New-Object -ComObject Shell.Application
$RecycleBin = $Shell.Namespace(0xA)
$RecycleBin.Items() | %{Remove-Item $_.Path -Recurse -Confirm:$false}

 

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...