Archives For CSV

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"!

PowerShell: risultati delle query troncati? Come risolvere il problemaBanalità che potrebbe però sfuggire alla memoria o alla logica.

Sapete come estrarre rapidamente tutti i domini gestiti dal vostro abbonamento Office 365? Non parlo di quegli abbonamenti che gestiscono il dominio di casa propria o dell’allegra famigliola, parlo di installazioni che hanno qualcosa come 50 e più domini a catalogo (qui se ne gestiscono circa 180, attualmente). Un comando per domarli, un comando per trovarli, un comando per ghermirli e nel buio incatenarli (cit. leggermente rivista per l’occasione), come al solito via PowerShell connessa al vostro Exchange Online:

Get-MsolDomain

La lista vi verrà restituita sotto forma di tabella a triplo campo (nome, stato del dominio e tipo di autenticazione). Ovviamente, la lista potrà essere facilmente esportata in un file di testo, o magari in un file CSV, vi basterà richiamare un pipe e dargli la seconda istruzione a catena:

Get-MsolDomain | Export-CSV C:\temp\domini.csv

A questo punto avrete ottenuto il vostro risultato, rapido e preciso.

Buon lavoro.

Dopo il primo vero setup di Office 365, che spesso e (poco) volentieri include una migrazione di utenti e dati da un server di posta a quello in cloud, potrà capitarvi di avere a che fare con la creazione più o meno massiva di account di posta elettronica richiesti dalla vostra azienda. Ora: se la richiesta è di pochi utenti (inferiori a 10) è affrontabile anche manualmente, al contrario inizia a diventare tutto poco comodo e si rende necessario ricorrere al metodo bulk offerto da Office 365. Un file CSV, una sola licenza per tutti (10 utenti con licenza P1? Un CSV. Altri 10 con E3? Altro CSV, non potete mischiare utenze e licenze, almeno attualmente), c’è una scorciatoia per facilitare ulteriormente il compito.

Office365-banner

Quella scorciatoia si chiama Excel e, partendo da un modello che ho cercato di personalizzare con lo stretto indispensabile, è possibile ottenere un file CSV che potrete dare in pasto alla Dashboard amministrativa di Office 365. Il modello è disponibile qui (cercherò di aggiornarlo anche in futuro se dovessi fare ulteriori modifiche). Ve lo spiego rapidamente:

Spostatevi nella seconda tab del foglio Excel e modificate il dominio così che questo venga applicato a tutti i campi nella prima tab. Potete inoltre inserire la radice del numero telefonico aziendale (o magari indicare quello del centralino). Se non volete indicarlo vi basterà inserire un singolo apice al posto di quello proposto di default.

Creare caselle di posta in bulk su Office 365: modello Excel 1

I campi da compilare all’interno della prima tab (necessari per poter proseguire) sono esclusivamente “Nome” e “Cognome” nonostante io abbia comunque mantenuto la possibilità di specificare gli altri proposti di default nel CSV “template” di Microsoft. Potete recuperarli da una mail in arrivo dall’ufficio Risorse Umane o semplicemente riportarli leggendoli e scrivendoli da tastiera. Al resto ci penseranno alcune formule che ho utilizzato per evitare brutti scherzi.

L’indirizzo di posta elettronica verrà generato sempre in minuscolo, tutto. Non che la piattaforma sia schizzinosa o case-sensitive, ma per una questione di pulizia ho preferito fare così. Per una questione di standard inoltre è stato scelto di tenere il modello nome.cognome@dominio.tld e nel caso in cui la persona abbia nome più complesso (doppio, triplo o chissà cosa) verrà preso per buono solo il primo (in pratica si va alla ricerca del primo spazio presente nel campo, tecnicamente è lui che decreta il termine del primo nome), questa la parte di formula adottata:

=MINUSC((SE.ERRORE(SINISTRA(B2;TROVA.B(" ";B2)-1);B2)))

Anche il cognome è soggetto ad una specifica formula, con l’eccezione però che questo -se doppio, triplo o chissà cos’altro- verrà preso per buono tutto, unendo le varie parti. È così che si passa ad esempio da “De Rossi” a “derossi” (via lo spazio, via le maiuscole), il tutto andando a ricercare il carattere spazio attraverso il suo codice e sostituendolo con la rimozione dello spazio:

=(MINUSC(SOSTITUISCI(C2;CODICE.CARATT(32);"")))

Al termine del gioco si arriva includendo il dominio stabilito nella seconda tab (come anticipato qualche riga fa ormai). Dato che il campo dovrà rimanere fisso, sarà necessario ricordarsi di includere il carattere “$” sia prima della lettera che del numero di cella:

&"@"&Config!$C$6)

La formula intera, decisamente più complessa, mette al riparo dai possibili errori delle combinazioni di nomi e cognomi, ed è questa:

=MINUSC((SE.ERRORE(SINISTRA(B2;TROVA.B(" ";B2)-1);B2)))&"."&(MINUSC(SOSTITUISCI(C2;CODICE.CARATT(32);"")))&"@"&Config!$C$6

Applicata poi a tutte le righe già preimpostate del file Excel dove potete trovare già il “@contoso.com” come dominio pronto e in attesa del resto dei dati necessari. Nessuno vi vieta di estendere “l’area coperta” dalle formule trascinando in basso almeno l’ultima riga già compresa nel mio template, non è detto che vi servano così poche righe (o così tante, ndr).

Termine della compilazione, il file CSV

Al termine della compilazione dei campi salvate il file modificandone il formato di uscita, selezionando quindi “CSV (delimitato dal separatore di elenco)” e confermando i messaggi a video che vi chiederanno se siete sicuri di voler utilizzare quel formato e che la formattazione, così facendo, non verrà mantenuta.

Creare caselle di posta in bulk su Office 365: modello Excel 3

Aprendo il file CSV con un editor di testo (come sempre vi consiglio Notepad++) noterete che i valori sono stati separati tramite un “;“. Selezionatene almeno uno, lanciate una modifica sull’interno documento e sostituiteli tutti con il carattere virgola. Potrete inoltre cancellare facilmente eventuali righe vuote superflue che non avete eliminato precedentemente in Excel.

Solo a questo punto il vostro CSV sarà davvero pronto (salvate in uscita, grazie!) e potrà essere dato in pasto a Microsoft Exchange in cloud per poter creare tutti gli account di posta (verrà assegnata una password randomica a ciascun nuovo utente creato) e dar loro una licenza a ruota. A voi non resterà che attendere la notifica delle relative password (sia a video che via posta posta elettronica verso il vostro account) da poter poi consegnare ai relativi proprietari delle nuove caselle.

Prima di chiudere

Giusto per la cronaca: spesso e volentieri quando si va a chiedere aiuto a Google per capire che tipo di formule utilizzare, ci si imbatte molto più facilmente in articoli in lingua inglese che ovviamente utilizzano formule in inglese, particolare affatto di secondo piano se si pensa che nell’Excel in italiano quelle formule non esistono. Per questo motivo ho trovato una risorsa sicuramente molto interessante e utile che propone la traduzione delle formule di Excel dall’inglese all’italiano, la trova all’indirizzo piuha.fi/excel-function-name-translation/index.php?page=english-italian.html.

Io non sono affatto esperto di Excel, lo utilizzo abitualmente in maniera semplice, non mi butto a capofitto in formule complicate o strani incroci di dati da una tab all’altra del foglio di lavoro. Potrei aver scritto castronerie, potrebbero esserci metodi decisamente più semplici per ottenere il risultato. In tal caso spero voi vogliate condividerli con me e con gli altri lettori utilizzando l’area commenti ;-)