Archives For Windows

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Avete una chiave USB, dovete caricarci dei file salvati nel disco del vostro Macbook ma scoprite che questa contiene vecchi documenti ed era stata formattata in NTFS per poter essere utilizzata da Windows. Urge formattazione in FAT32 e non volete scaricare una applicazione apposita. Nessun problema, vi basta un solo comando testuale.

Aprite il Terminale e lanciate un:

diskutil list

Per ottenere la lista dei dispositivi di memorizzazione collegati alla macchina (compreso il vostro disco fisso, occhio). Cercate la chiave USB (vi basterà dare un’occhiata allo spazio disco disponibile) e prendete “nota” dell’identificatore della partizione primaria assegnato (/dev/ è fisso, cambia “disk%“, ed è quello che fa la differenza!).

A questo punto basterà lanciare il comando per la formattazione in FAT32:

sudo diskutil eraseDisk FAT32 NOMECHIAVE MBRFormat /dev/disk3

Dove “NOMECHIAVE” dovrà essere sostituito con il nome che più preferite (tutto in maiuscolo, occhio a non eccedere con il numero di caratteri) e /dev/disk3 con la partizione realmente assegnata al vostro drive, per evitare di formattare chissà cos’altro ;-)

Vi verrà chiesta la password del vostro account per conferma prima che l’operazione venga effettuata. Questa di seguito è la schermata completa. La chiave USB nel mio caso aveva capienza da 4GB, si trattava di /dev/disk3 come nel codice riportato poco fa:

OS X: formattare un disco in FAT32 direttamente da Terminale

La chiave USB sarà ora leggibile e scrivibile sia da OS X che Windows.

ManageEngine ServiceDesk è un software che utilizziamo parecchio in azienda, abbiamo dato vita a più HelpDesk che servono diversi team di lavoro, mette a disposizione di tecnici e commerciali una molteplicità di risorse e probabilmente fa anche al caso vostro, vi consiglio di dare un’occhiata al sito ufficiale del prodotto. Oggi però non mi voglio soffermare sulla descrizione del software in se ma parlare di un problema che ha colpito una delle installazioni nata diversa dalle altre: la quantità di log generata dal PostgreSQL configurato per il massimo del verbose.

ManageEngine

Provate a pensare a circa una decina di tecnici, ora aggiungete il carico di mail catturate direttamente da una casella di posta elettronica (per essere trasformate in ticket, ndr) e utenti con libero accesso al form di login per controllare lo stato della loro richiesta o aggiungere dettagli. Login, logout, query e modifiche al database. Una configurazione errata è stata in grado di produrre circa 32GB di file di log su disco in appena un giorno. La diretta conseguenza è facile da immaginare: spazio disco esaurito, impossibilità di fare ulteriori login o operazioni sul software.

Rimettere a posto la situazione è altrettanto semplice. Fermate il servizio che tiene vivo l’HelpDesk (si fermerà così anche il database) e intervenite sul file di configurazione di PostgreSQL che si trova tipicamente in X:\ManageEngine\ServiceDesk\pgsql\data\postgresql.conf (dove X: è il drive dove avete installato il software, ovviamente), a questo punto aprendolo con un editor di testo (Notepad++ tanto per citare il mio preferito) intervenite su questo blocco:

#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------

# - Where to Log -

log_destination = 'stderr'        # Valid values are combinations of
                    # stderr, csvlog, syslog and eventlog,
                    # depending on platform.  csvlog
                    # requires logging_collector to be on.

# This is used when logging to stderr:
logging_collector = off        # Enable capturing of stderr and csvlog

Nel codice sopra indicato ho già ritoccato la destinazione log (passata da csvlog che salvava quindi file mastodontici su disco fisso) a stderr. Una volta ritoccato il primo parametro potrete “spegnere” anche il logging_collector (che passa quindi da on a off). Continuerete a poter verificare eventuali problemi direttamente dai log messi a disposizione dal software ma almeno così le sorti del vostro disco di sistema (o dati, se l’installazione del ServiceDesk è stata fatta in una posizione diversa) saranno ben differenti da quelle che ne prevedono la fine (poco) naturale o la necessità dell’allargare lo spazio dedicato ogni 24h!

Sia chiaro: il consiglio vale per qualsiasi altro software si basi su PostgreSQL dato che il file di configurazione è sempre lo stesso. Per ciò che riguarda ServiceDesk potrete ora riavviare il servizio che provvederà a sua volta a resuscitare il DB e permettervi di tornare a lavorare tranquillamente con i vostri ticket.

Let’s rock! :-)

Aggiornamento 11/2/15
Ho aggiornato l’articolo includendo le informazioni antivirus (dato che alcuni di voi mi hanno giustamente segnalato che alcuni client segnalano come potenzialmente pericoloso il file prima del suo utilizzo, trovate le info in mezzo all’articolo ;-)

Flash Player (AdobeUpdater)Nuovo giro di aggiornamenti per Adobe che non se la passa molto bene ultimamente (helpx.adobe.com/security/products/flash-player/apsb15-04.htmlhelpx.adobe.com/security/products/flash-player/apsa15-02.html). Ho quindi provveduto ad aggiornare il codice del tool e caricare online la nuova versione del Flash Player Updater. Nonostante rimanga valida la discussione del forum Adobe dove si parlava dell’argomento: forums.adobe.com/message/3967370 questa versione integra una banale modifica che le permette di essere -fino a un’eventuale prossima modifica di Adobe- valida per tutti i prossimi aggiornamenti di Flash:

wget http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ax.exe
wget http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player.exe
start "Installazione Flash Player ActiveX" /wait install_flash_player_ax.exe -install
start "Installazione Flash Player Plugin" /wait install_flash_player.exe -install
del /S /Q install_flash_player_ax.exe
del /S /Q install_flash_player.exe

Lo stesso codice è disponibile come al solito nel Wiki all’indirizzo public.gfsolone.com/wiki/doku.php?id=batch:flashupdater. Il batch fa parte di un pacchetto eseguibile unico che contiene al suo interno anche il wget.exe. Lanciandolo come amministratore farà tutto automaticamente assicurandosi di forzare la chiusura di eventuali browser rimasti aperti (il controllo viene effettuato per Internet Explorer, Firefox, Opera e Chrome).

Protezione da malware

Come promesso integro le informazioni sulla scansione antivirus del file, trovate il rapporto su VirusTotal all’URL virustotal.com/it/file/4c4933665a96805943aba5f4c660fed571516b4ffdb2c2f55489af6d8d4a7437/analysis e includo qui di seguito uno screenshot della pagina così che possa rimanere memorizzato anche se l’analisi verrà prima o poi rimossa dal sito web:

screenshot-www virustotal com 2015-02-11 10-32-40

3 motori rilevano il mio file come potenzialmente pericoloso. Il motivo è semplice: all’interno dell’eseguibile c’è il mio file batch che contiene a sua volta le stringhe per terminare i processi di Google Chrome, Mozilla Firefox, Opera e Internet Explorer, questo spesso viene preso come tentativo di attacco al sistema operativo ma si tratta in realtà di falso positivo. Scaricate tranquillamente il file e lanciatelo ignorando eventuali avvisi.

Download

Potrete scaricare il pacchetto eseguibile direttamente dall’URL:

app.box.com/s/v2bod4mgy9o53cepe0o8ltwcqb3na10c

o dal solito gfsolone.com/adobeupdater.

Buon lavoro :-)

Pogoplug è un piccolo prodotto attraverso il quale potrete creare e gestire uno spazio cloud completamente personale (i file sono fisicamente presenti sui vostri dischi, ndr) con il vantaggio dell’avere un software già ben avviato (e abbastanza aggiornato), sempre disponibile sul web e raggiungibile tramite applicazione o interfaccia navigabile da browser. Uno spazio potenzialmente “infinito” (con le dovute pinze, ovviamente) grazie alle porte USB ed eSata presenti sul Pogoplug stesso al quale potrete ovviamente collegare dischi esterni. Questo articolo è dedicato alla quarta versione del prodotto acquistata a un prezzo decisamente inferiore al suo listino grazie ad un’offerta su Amazon (US), pacco consegnato in pochissimi giorni e con un ricarico minimo di tasse per un totale di spesa inferiore ai 40 € (impossibile non essere soddisfatti delle performance del big del commercio elettronico), considerando che il prezzo di listino si aggira ufficialmente intorno al centinaio di euro.

Pogoplug-series4-hero_Fotor

Il Pogoplug diventa ancora più interessante se si pensa che con un minimo di lavoro si riesce a modificare il comportamento di default previsto dalla casa madre poiché basato su una distribuzione essenziale di Linux chiamata Busybox:

/etc # uname -a
Linux Pogoplug 2.6.31.8 #5 Wed Sep 28 12:09:12 PDT 2011 armv5tel GNU/Linux

Di risorse ne esistono davvero tante e nel corso del tempo sono saltati fuori articoli in grado di spiegare passo-passo tutte le possibili modifiche o aggiunte al sistema; dall’installazione di Samba per la condivisione dei file in rete LAN su Windows al client Torrent da poter controllare anche da remoto con il minimo sforzo. Stavolta si affronta la prima citata con una piccola parentesi dedicata a OS X, ne ho raccolte diverse su delicious.com/gioxx/pogoplug.

Per partire

Procuratevi una scheda SD (anche da 1 GB, basta e avanza), un client che possa collegarsi in SSH al Pogoplug (terminale di OS X o Linux o PuTTY su Windows) e un cavo di rete direttamente connesso al vostro router (il Pogoplug non integra un chip WiFi e il cavo resta in ogni caso più stabile e affidabile, ndr). Se sapete di cosa sto parlando consiglio una reservation sul DHCP basata sul Mac Address del Pogoplug che trovate direttamente sulla sua etichetta.

A corredo suggerisco le applicazioni per iOS e Android se prevedete di effettuare il backup dei vostri dispositivi sul disco fisso connesso al prodotto (o nei 5GB messi a disposizione dall’account gratuito online).

Pogoplug
Price: Free*

Da ora in poi (e per alcuni vale già quanto scritto fino a qui) occhio a ciò che fate. Se non vi sentite sicuri utilizzate l’area commenti per chiedere lumi o rinunciate, nessuno ve ne farà una colpa ;-)

SD: formattazione su OS X

Questo è quel paragrafo che potete saltare a piè pari nel caso in cui stiate lavorando sotto Microsoft Windows. Tasto destro sulla lettera che identifica la vostra scheda SD, Formatta, scegliete FAT32 tra le voci disponibili in File System ed è fatta (occhio alla formattazione veloce, basta e avanza per quello che andremo a fare). Su OS X la storia cambia, non si traduce con un paio di clic, aiuta decisamente più il Terminale. A SD inserita lanciatelo e cercate la scheda tra le memorie disponibili con il comando:

diskutil list

Una volta identificata (date un’occhiata allo spazio totale, così la facciamo più semplice) si parte con la formattazione in FAT32:

sudo diskutil eraseDisk FAT32 POGO MBRFormat /dev/disk4

dove “POGO” è il nome che ho scelto per la scheda SD (quindi potete usarne un altro) e disk4 è la scheda individuata tramite il “list“, questo il risultato:

Neptune:~ gioxx$ sudo diskutil eraseDisk FAT32 POGO MBRFormat /dev/disk4
Password:
Started erase on disk4
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk4s1 as MS-DOS (FAT32) with name POGO
512 bytes per physical sector
/dev/rdisk4s1: 15485368 sectors in 1935671 FAT32 clusters (4096 bytes/cluster)
bps=512 spc=8 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=8192 drv=0x80 bsec=15515648 bspf=15123 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk4
Neptune:~ gioxx$

Potete quindi smontare la scheda SD e inserirla nel Pogoplug, che accenderete subito dopo collegandolo alla rete elettrica.

Installazione di Samba

Il mio articolo si basa sull’ottimo originale pubblicato da Razvan Rosca e disponibile su razva.ro/how-to-install-samba-on-pogoplug-4 (lo stesso ha scritto come installare Arch Linux pur mantenendo le caratteristiche del salvataggio in cloud di My Pogoplug: razva.ro/install-arch-linux-pogoplug-samba-pogoplug-4). Qui voglio raccogliere il da farsi localizzato in italiano basandomi sulla mia personale esperienza (nel mio caso ho utilizzato una scheda SD e un disco USB attaccato a una delle porte USB 3.0), suggerendovi altre fonti che ho avuto modo di scoprire e leggere durante le svariate ricerche fatte.

La scheda SD è formattata e dentro al Pogoplug, abilitate il prodotto a farvi accedere via SSH dalla pagina web del servizio (my.pogoplug.com, Settings, Security):

Schermata 2015-01-27 alle 22.09.14

Scegliete una password che potrete ricordare semplicemente ma che non sia banale (soprattutto se il vostro Pogoplug sarà accessibile dall’esterno della vostra rete casalinga tramite IP pubblico!). Usate ora un Terminale (OS X o Linux) o PuTTY su Windows (ne avevamo già parlato, ricordate?) e puntate all’IP del Pogoplug, entrate come root e con la password che avete stabilito sull’interfaccia web. Da ora in poi è tutto un comando o un file di configurazione, procedete con ordine, non fate confusione, nel caso aveste dei dubbi utilizzate l’area commenti!

Montate la “/” in lettura e scrittura e create la cartella /opt

mount -o remount,rw /
mkdir /opt

prima di poter montare la scheda SD nella /opt sarà necessario capire chi è la SD e chi il disco fisso collegato alla porta USB, per farlo basterà andare in /tmp/.cemnt e lanciare un ls della cartella:

cd /tmp/.cemnt/ls | grep mnt

questo il mio risultato:

/tmp/.cemnt # ls -la | grep mnt_
drwxr-xr-x    6 root     root   4096 Jan  1  1970 mnt_mmcblk0p1
drwxr-xr-x    1 root     root   8192 Jan 14 02:18 mnt_sda1
/tmp/.cemnt #

e si scopre che mnt_mmcblk0p1 è la scheda SD (basta entrare nella cartella e lanciare un ulteriore ls per controllare che file contiene, riconoscerete cosa avete messo dove, no? :-)). A questo punto si potrà procedere con il montare in lettura e scrittura la SD nella /opt:

mount -o exec,remount /tmp/.cemnt/mnt_mmcblk0p1/ /opt

Sostituiamo il wget originale del Pogoplug con quello ufficiale che siamo abituati a vedere sulle macchine Linux più comuni (ma anche su Windows, usato in diversi miei script):

cd /opt
mkdir work
cd work
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/wget_1.12-2_arm.ipk
tar xf wget_1.12-2_arm.ipk
tar xf data.tar.gz
mv /usr/bin/wget /usr/bin/wget.bak
mv /opt/work/opt/bin/wget /usr/bin/

a questo punto procediamo con un po’ di pulizia per poter lavorare meglio, basta un semplice

rm -rf /opt/work/*

Ora si passa all’installazione di IPKG che permetterà in seguito di installare pacchetti binari tra cui Samba, da spostare subito dopo nella /opt:

cd /opt/work
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk
tar xf ipkg-opt_0.99.163-10_arm.ipk
tar xf data.tar.gz
cd /opt/work/opt
mv * /opt

pulizia, ancora una volta:

rm -rf /opt/work/*

A questo punto occorrerà preparare la directory all’interno della quale far lavorare IPKG e aggiungere i repository ai quali “bussare” per cercare e scaricare i pacchetti:

mkdir -p /opt/etc/ipkg
echo "src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable" > /opt/etc/ipkg/armel-feed.conf
echo "src native http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable" >> /opt/etc/ipkg/armel-feed.c

e coprire i file delle dipendenze per poi lanciare l’aggiornamento di IPKG:

cp /opt/lib/libipkg.so.0.0.0 /opt/lib/libipkg.so.0
/opt/bin/ipkg update

Siamo pronti per installare libnsl ed in seguito Samba:

/opt/bin/ipkg install libnsl
cp /opt/lib/libnsl-2.5.so /opt/lib/libnsl.so
cp /opt/lib/libnsl-2.5.so /opt/lib/libnsl.so.1
/opt/bin/ipkg install samba2

A questo punto bisognerà mettere da parte il file di configurazione di default di Samba per poterne creare uno nuovo che andremo a personalizzare in seguito:

mv /opt/etc/samba/smb.conf /opt/etc/samba/smb.conf.bak
touch /opt/etc/samba/smb.conf
vi /opt/etc/samba/smb.conf

premendo “i” sulla tastiera si entrerà in modalità di inserimento e potrete copiare e incollare ogni singola riga (qui di seguito), una alla volta, occhio a non fare copia e incolla totale perché non vi riuscirà e dovrete ricominciare (consiglio per i più temerari: tasto ESC e poi scrivete q! per uscire da vi senza salvare ciò che avete combinato):

[global]
        workgroup = workgroup
        server string = Pogoplug
        hosts allow = 192. 127. 10.
        null passwords = yes
        guest account = root
        log file = /opt/var/log/samba/log.%m
        max log size = 50
        security = share
        encrypt passwords = yes
        smb passwd file = /opt/etc/samba/smbpasswd
        dns proxy = no
        preserve case = yes

[sda1]
        comment = USB1
        path = /tmp/.cemnt/mnt_sda1/
        available = yes
        public = yes
        writable = yes
        printable = no
        create mask = 0777
        guest ok = yes
        browseable = yes

Il file (tradotto in soldoni) permetterà il collegamento al disco gestito da Samba dalle reti 192. e 10. (oltre il classico localhost 127.(0.0.1)). Al posto del path sotto sda1 mettete il puntamento al vostro disco collegato alla porta USB 3 (vi ricordate quanto verificato qualche paragrafo più su? mnt_sda1 corrispondeva al mio disco esterno, lo richiamo adesso). Al posto di sda1 nelle parentesi quadre inserite il nome da dare alla cartella condivisa sotto Samba.

Se tutto vi sembra in ordine premete il tasto ESC e scrivete “wq” (write and quit) per salvare e uscire da vi. A questo punto potrete testare la validità della configurazione del vostro Samba:

/opt/bin/testparm

questo è grosso modo il risultato che dovrebbe spuntare fuori:

/opt/etc/samba # /opt/bin/testparm 
Load smb config files from /opt/etc/samba/smb.conf
Processing section "[DiscoDatiUSB3]"
Loaded services file OK.
Press enter to see a dump of your service definition

in caso contrario c’è un problema. Niente panico, potete buttare via il file di configurazione Samba (rm -rf /opt/etc/samba/smb.conf) e rifarlo (tornate al vi /opt/etc/samba/smb.conf). Se tutto è filato liscio potrete lanciare Samba:

/opt/etc/init.d/S80samba start

Godetevi il risultato esplorando l’unità da una qualsiasi macchina Windows nella rete, avviate un esplora risorse e puntate a \\IPPogoplug, dovreste trovare la cartella condivisa (corrispondente al disco USB) pronta per essere utilizzata:

Schermata 2015-01-27 alle 22.53.43

Ho dimenticato qualcosa? Pensate che ci sia qualcosa che non quadra? L’area commenti è a vostra totale disposizione!

OS X 10.10.1 e smb://, Support deprecated

Andate nel Finder e quindi nelle applicazioni, entrate nella cartella delle Utility e avviate Console. Da questo spostatevi sulla voce “system.log” sotto FILE (colonna di sx, ndr) per leggere gli ultimi errori di sistema tracciati nel file di log, dovreste trovare qualcosa di molto simile a questo:

Jan 21 22:10:05 Neptune kernel[0]: smb1_smb_negotiate: Support for the server POGOPLUG has been deprecated (PreXP), disconnecting

Come avrete capito il supporto per il Samba installato sul Pogoplug non è più affare di Apple in quanto considerato vecchio e abbondantemente superato. Cercando nel web si arriva a diversi risultati che spesso però non aiutano (come questo vecchio consiglio per Lion: support.apple.com/en-us/HT200158). Ho provato a sbatterci la testa per diverso tempo ma nessuno dei test eseguiti ha portato al risultato sperato. Poco male, l’applicazione di backup ufficiale per OS X integra ancora la funzione di mappatura dinamica dei dischi collegati al Pogoplug, questo vi permetterà di vederli e amministrarli come se fossero collegati direttamente al vostro Macbook (e famiglia).

La si scarica dal sito ufficiale ma potete trovarne una copia qui (in caso di necessità): app.box.com/s/gi3s3wiilgkdkr4ob9w26v5twmant6mi (anche se dovesse diventare obsoleta, al primo avvio richiederà l’aggiornamento). La modifica va operata da “Settings” e funzionerà solo ad applicazione avviata sul sistema:

Schermata 2015-01-26 alle 20.42.19

Chiaramente all’interno delle unità montate nel sistema troverete anche la stessa SD sulla quale avrete installato i pacchetti aggiuntivi tramite IPKG, potete espellere l’unità così da evitare ogni possibile errore ;-)

Riavviare il Pogoplug ed il Samba installato

Questa è forse la pecca più fastidiosa del prodotto. Se viene riavviato sarà necessario ricordarsi di dare un “giro di chiave” anche alla modifica operata: occorrerà montare l’unità SD e avviare Samba. Poco male, si può sempre creare uno script ad-hoc (che nell’esempio ho chiamato startengine.sh) da tenere a portata di mano nella /etc e far fare a lui il lavoro sporco:

touch /etc/startengine.sh
vi /etc/startengine.sh

e includere al suo interno:

mount -o remount,rw /
mount /tmp/.cemnt/mnt_mmcblk0p1 /opt
/opt/etc/init.d/S80samba

Dove (ve lo ricordo ancora una volta) mnt_mmcblk0p1 corrisponde alla mia scheda SD e va sostituita con il nome assegnato alla vostra. Salvate il file e lanciate un chmod 0755 startengine.sh per renderlo eseguibile ed il gioco è fatto, basterà ovviamente collegarsi in SSH al Pogoplug e lanciare lo script con /etc/startengine.sh.

In conclusione

Una spesa tutto sommato affrontabile per riutilizzare i propri dischi USB esterni permettendo ai client di una stessa rete di accedervi facilmente in qualsiasi momento, copiare / spostare dati e fare backup dei propri dispositivi iOS, Android, OS X o Windows. Una soluzione che seppur modificata manterrà le funzionalità previste dalla fabbrica permettendovi di avere un punto unico di accesso ai vostri file e -se volete- un server DLNA accessibile anche da console (non ve ne ho parlato perché generalmente utilizzo Plex, lo stesso accede ai file contenuti sul disco collegato al Pogoplug, ndr). L’unico limite è dettato dall’hardware del prodotto e dalla vostra fantasia ma anche dalla vostra pazienza.

Buon divertimento! ;-)

Powershell_200px-GWallOggi voglio tornare a parlarvi di Powershell e di rapidi consigli per la sopravvivenza. Chi è abituato a tenere una finestra sempre aperta sul mondo Exchange in Cloud avrà sicuramente notato una particolarità che nel 90% dei casi non scatena alcun fastidio ma che in quel 10% decisamente più raro in cui imbattersi può diventare una limitazione: risultati troncati.

Stringhe che sul vostro prompt diventano improvvisamente più brevi e che vedono sostituirsi buona parte dei caratteri con i classici 3 puntini di sospensione (come nell’immagine che vi ripesco da un articolo più vecchio, qui di seguito):

pshell-loginOk

Il metodo per aggirare la limitazione è piuttosto semplice e dipende esclusivamente dalle preferenze di default applicate alla vostra Powershell, si tratta più precisamente del parametro $FormatEnumerationLimit, come viene spiegato molto bene qui: blogs.technet.com/b/heyscriptingguy/archive/2011/11/20/change-a-powershell-preference-variable-to-reveal-hidden-data.aspx. Potete verificarne il vostro attuale valore semplicemente digitando il parametro in Powershell:

PS C:\PS1\PS1> $FormatEnumerationLimit
4

E quindi modificarlo portandolo a -1 per evitare che i risultati vengano troncati. A questo però va aggiunta una piccola accortezza che riguarda il numero massimo di caratteri utilizzati per pubblicare un risultato in Powershell, parametro “Out-String” per la precisione, del quale si parla anche nel blog di Greig all’indirizzo greiginsydney.com/viewing-truncated-powershell-output. Un comando completo dovrà quindi integrare il parametro che per l’occasione potrete portare sempre più in “alto” in base alle vostre esigenze (nell’esempio del prossimo paragrafo mi è bastato un semplice Out-String -Width 500).

Possibile applicazione

Passiamo alla “ciccia” vera e propria. L’esigenza era quella di creare un piccolissimo script di “emergenza” nel caso in cui qualche collega (o il sottoscritto stesso) dimentichi che il comando –ResourceDelegates su una mailbox di risorsa (in questo caso una sala riunioni) non va ad aggiungere utenti in coda ma li sostituisce in toto con quelli digitati subito dopo rimuovendo quelli già esistenti (inseriti in precedenza, giorni o secoli prima!). Si modifica lo script, si integrano nuovi delegati in coda a quelli già esistenti e si rilancia lo script, a prova di scimmia, zero errori salvo catastrofi naturali o innaturali non prevedibili:

Nello script si vede chiaramente l’impiego della modifica al parametro $FormatEnumerationLimit e la necessità di modificare l’output della verifica delegati grazie alla forzatura dell’Out-String a 500 caratteri.

Rapido e indolore, come sempre.

Buon lavoro!