Consulenze tecnologiche e informatiche

 

AEM - Ricerca dei percorsi utente

AEM – Ricerca dei percorsi utente

Usando Autotask Endpoint Managment (AEM) attraverso dei componenti per Microsoft Windows realizzati sfruttando i classici batch invece della PowerShell, che per quanto potente non sempre è adatta a tutte le versioni di sistema operativo, mi sono imbattuto nella limitazione derivante dall’impossibilità di adottare le variabili di ambiente per raggiugere specifici percorsi del disco.

 

AEM opera sul sistema amministrato come LocalSystem, quindi ogni variabile dinamica legata ai profili viene associata a questo account.

 

Avendo la necessità di far gestire da AEM la pulizia della cartella dei Download ho quindi analizzato il metodo di lavoro dell’applicazione e come raggirare il problema, pulendo indistintamente le cartelle di tutti i profili presenti sul computer a prescindere da quello in uso.

 

La caccia al profilo utente nei registri di sistema

 

Una prima soluzione che ho pensato sfruttava la registrazione dei profili utente nelle chiavi di registro, l’idea non era male, tuttavia con l’aumentare del numero di profili in alcuni casi si incorreva in errori di caricamento della pipe line causati dal quantitativo di memoria richiesto dal batch, inoltre i registri di sistema sono un punto molto delicato e pertanto ho deciso di abbandonare questa via, almeno per ora (ma anche dopo).

 

Ricavare i profili utente dal filesystem

 

Ogni profilo utente ha una sua specifica cartella all’interno di uno specifico percorso del disco:

  • c:users, da Windows 7 in avanti
  • c:document and settings, per le versioni più vecchie di sistemi operativi

Essendo i vecchi sistemi operativi obsoleti e non più supportati mi sono soffermato sulle versioni recenti, tuttavia è possibile modificare il componente per valutare il sistema operativo e quindi variare automaticamente il percorso di riferimento.

 

La decisione è stata quella di cercare i percorsi utente direttamente all’interno del loro contenitore padre, a tale scopo ho impiegato nuovamente un ciclo FOR.

 

for /f “tokens=*” %%G in (‘dir /b c:users’) do (
… command …
)

 

Il ciclo acquisisce l’output del comando dos dir /b, che restituisce la sola lista di file e cartelle del percorso padre, nel nostro caso troviamo le cartelle dei profili utente.
La variabile %%G restituisce i nomi delle cartelle utente.

 

Trovati i profili non mi resta che localizzare le cartelle dei download per ognuno di loro, a tale scopo vado ad inserire nel ciclo FOR la verifica di esistenza di tale percorso.

 

IF EXIST c:users %%GDownloads (
… command …
)

 

Una volta determinata l’esistenza della cartella posso procedere con la sua pulizia totale oppure dei soli contenuti più vecchi di un certo periodo, per tale scopo uso il comando forfiles, spesso sconosciuto, ma utilissimo per filtrare i file e le cartelle in base a dei criteri di ricerca.

 

Rimozione file

forfiles -p “%UserFolder%%%GDownloads” -s -m *.* /D -%NUMDAYS% /C “cmd /c del @path /f”

 

Rimozione cartelle e loro contenuto

forfiles -p “%UserFolder%%%GDownloads” /S /D -%NUMDAYS% /C “cmd /c IF @isdir == TRUE rd /S /Q @path”

 

Nello specifico cerco i file e le cartelle più vecchi del numero di giorni indicati dalla variabile NUMDAYS, definita nel componente AEM, a cui è associato un valore di default di 60 giorni.
Nel caso dei file il comando forfiles esegue una semplice DEL senza richiesta di conferma (/f) delle ricorrenze trovate, con le cartelle invece esegue il comando RD (remove dir) per i soli contenuti che sono file (IF @isdir == TRUE).

 

Associando il componente ottenuto al componente monitor di trigger delle date ora posso dimenticarmi di cancellare i contenuti della cartella dei download, in questo caso l’intervallo di tempo per la cancellazione è quello definito di default nel componente.

 

Scarica il componente di base

 

Buon download!

 

Categorie
Archivi
Count per Day
  • 52Questo articolo:
  • 172849Totale letture:
  • 28Letture odierne:
  • 281Letture di ieri:
  • 21 novembre 2016Dal:
Iscriviti alla Newsletter
Iscriviti alla nostra newsletter ed unisciti ai nostri iscritti.

Seleziona lista (o più di una):




Trattamento dei dati