Archives For Server

Articolo “appunti“, come sporadicamente capita qui sopra. Ho avuto la necessità di rimuovere delle mappature verso stampanti di rete non più raggiungibili (cambio server remoto di stampa, nda), tutte queste non controllate da GPO (erano state aggiunte manualmente dagli utenti). Ho aggirato l’ostacolo con alcune righe di VBScript. Le ritrovi qui di seguito nel caso in cui dovessero servirti.

VBScript: rimuovere mappature stampanti (Coding)

Pulizia completa (da server)

Ti ricordo che il VBScript può essere eseguito manualmente, o inserito in un più complesso (e completo) script di Logon, o magari puoi pensare di lanciarlo su altre macchine passando per PSExec o qualsiasi altro strumento di gestione postazioni come Kace (o equivalenti).

Dim objWMIService, objNetwork, colInstalledPrinters, objPrinter
strComputer = "."
i = 0
PrintServer = "NOME-VECCHIO-SERVER"
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
 ("Select * from Win32_Printer")
 For Each objPrinter in colInstalledPrinters
 ReDim Preserve arrPrinterName(i)
 arrPrinterName(i) = objPrinter.Name
 If InStr(arrPrinterName(i), PrintServer) Then
 Set objNetwork = WScript.CreateObject("WScript.Network")
 objNetwork.RemovePrinterConnection arrPrinterName(i)
 i=i+1 
 Else
 End If
Next

Il nome del server viene dichiarato come variabile PrintServer (facile intuirlo, eh?), devi praticamente sostituire quell’unica cosa lasciando invariato il resto.

e qualcosina da locale

Sì, perché potrebbe anche capitare che –contestualmente– ci sia qualcosa installato in locale sulla macchina (e non solo figlio del tasto destro → connetti), anch’esso non più utile alla quotidianità dell’utente. A questo punto però, contrariamente alla porzione di script di prima, ricorda che per quella di seguito servirà essere amministratori del PC (quindi bisognerà lanciare lo script come tali, o trovare un’alternativa):

arrDeletePrinters = Array("STAMPANTE1","STAMPANTE2","STAMPANTE3")
For Each objPrinter in colInstalledPrinters
 For Each strPrinter in arrDeletePrinters
 If Not InStr(1, objPrinter.DeviceID, strPrinter, 1) = 0 Then
 objPrinter.Delete_ 
 End If
 Next
Next

dove al posto di STAMPANTE1, STAMPANTE2, STAMPANTE3(volendo puoi dichiararne ancora, o toglierne, se necessario), dovrai inserire quelle che realmente vuoi eliminare, basta il nome con il quale è stata dichiarata (ogni singola stampante) sul sistema, ammesso che qualcuno non abbia avuto la malsana idea di nominarle in maniera differente ogni volta.

Ovviamente non è detto che tu abbia necessità di entrambe le soluzioni, puoi quindi limitarti a riportare la prima parte dello script in un tuo file (.vbs) da salvare dove più ritieni opportuno (in modo tale che sia raggiungibile dalle tue postazioni, chiaramente), o magari solo la seconda, stando però attento a includergli in testa il blocco relativo alla preparazione variabili e funzioni da richiamare (Dim objWMIService, objNetwork, colInstalledPrinters, objPrinter, la parte relativa a strComputer e il Set objWMIService = GetObject(“winmgmts:” _& “{impersonationLevel=impersonate}!\\” & strComputer & “\root\cimv2”)).

Un grande grazie alle fonti che hanno permesso di “pacchettizzare” una soluzione rapida per aggirare un banale ostacolo:

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Per circa un giorno (qualcosina in più, in realtà), fuorigio.co è rimasto down a causa di OVH e dei problemi relativi agli storage che ospitano i database MySQL. No SLA, “no-excuses”, niente di niente. Una telefonata al supporto, un paio di pagine dedicate allo stato di “salute dei servizi” e a ciò che stanno facendo per riportare online (ancora adesso) un numero non meglio definito di siti web. Gli operatori non sanno più che raccontare, quasi sono stufi di stare a sentire l’ennesima lamentela di persona pagante che non può sfruttare il servizio, e non certo per “una manciata di minuti“.

Che cosa sta succedendo a Fuorigio.co (e OVH)?

Agevolo URL che passano da Google Translate per trasformare il francese in inglese (ma perché usare il francese per qualcosa che impatta mezzo mondo? Credo che l’inglese in questi casi sia un atto dovuto, nda):

113 VM with the databases were impacted.

We are sincerely sorry for this failure. The
The last breakdown of this magnitude dates from 2006 and
At the time, we questioned all the
Storage technologies that we use at Ovh.
This breakdown is one more lesson and we will
To communicate the changes that will take place
End of this incident to avoid relive the next
Breakdown of this magnitude in 10 years.

Che un danno simile non si verificasse dal 2006 è lodevole (anche se lo considero più che normale, quando si svolge questo tipo di lavoro e si ha a che fare con così tanti clienti), che tutte le buone intenzioni (“per evitare ulteriori disastri per almeno altri 10 anni”) ci siano lo è altrettanto, ma che un sito web non torni up&running in tempi più decenti proprio no. Il nostro è un progetto che gestiamo nel tempo libero, che portiamo avanti per pura passione, che non ci paga gli stipendi. Se fosse stato qualcosa di diverso, qualcosa che non necessitava delle risorse messe a disposizione da un server dedicato (VPS e famiglia) o un investimento più grande (necessario per salire lo scalino da hosting condiviso a dedicato), quanto sarebbe stato carino e cortese dire “Niente SLA, sono cose che possono succedere e non ci sarà rimborso alcuno“?

A questo punto non resta che aspettare. Il nostro piccolo progetto collaterale è ora online ma con una caterva di errori WordPress randomici dovuti alla mancata possibilità di scrivere nel database attualmente tornato inizialmente disponibile in sola lettura, con tanto di informazioni in bella vista che non posso andare a togliere se non oscurando completamente il sito web. Cambierò nome, password e qualsiasi altra informazione a quel database, per evitare possibili ulteriori problemi in futuro.

L’amaro in bocca me lo rimetto nel sacco, il tempo perso invece no, quello è certamente passato a miglior vita, ora non resta che lavorare.

Condividi l'articolo con i tuoi contatti:

Office 365, Dropbox, Amazon, GMail. Quelli che a te sembrano semplici nomi ai quali ormai hai fatto la più completa abitudine, nascondono in realtà un minimo comune denominatore: si tratta di Public Cloud. Servizi che si trovano su server altrui, gestiti da amministratori che non sono i tuoi colleghi d’ufficio e disponibili (per definizione) 24 ore su 24, 365 giorni all’anno e 366 nei bisestili, una disponibilità garantita da strutture in grado di sopportare il carico di lavoro imposto da una clientela distribuita a livello mondiale, e altrettante strutture di backup che entrano in gioco nel caso in cui quelle di produzione diano qualche rogna.

Public Cloud: di cosa si tratta e perché lo si utilizza così tanto

Perché funziona?

Il perché del suo successo è presto detto: è adatto a tutti. Dalla casalinga di Voghera (che come ben sai, usa GMail per inviare le sue ricette e trucchi di pulizia a tutte le amiche ;-) ) alla piccola o media impresa che può scegliere un partner affidabile, che gli consenta di controllare i costi e le risorse tempo / uomo che servono per tenere vivo e in forma quel servizio, oltre ovviamente a supportarlo ed essere sempre presenti per gli utenti utilizzatori. Contrariamente alle soluzioni ibride o private, il cloud pubblico è -ovviamente- condiviso con molti altri clienti, un po’ come funziona da sempre con l’hosting condiviso sfruttato da moltissime installazioni di software (questo blog compreso). Non per questo è meno sicuro o meno affidabile, anzi, spesso un problema che affligge un cloud pubblico è anche quello che viene risolto più velocemente (proprio perché colpisce molti, spesso troppi, utilizzatori), e questo lo noto quasi ogni giorno da amministratore di un tenant Exchange (Office 365).

Chi manca all’appello? Ormai nessuno, perché sono le stesse (nuove) startup che per prime tentano l’impresa di lanciarsi (guadagnandosi l’investimento) appoggiandosi spesso al cloud pubblico e ai servizi erogati tramite esso. Parlando proprio di questi, manco a dirlo, ne è pieno il web, si spazia dal puro storage (quello professionale di Amazon, ma anche quello più semplice da utilizzare targato Dropbox, Google Drive o OneDrive) e si arriva alle istanze server vere e proprie (anche qui Amazon la fa pressoché da padrone, ma molti sono i competitor che si sono messi in gioco, e nuovi ne arrivano quasi quotidianamente), passando per applicazioni vere e proprie (GMail è forse l’esempio più lampante, ma non certo l’unico).

Sicurezza & Privacy

Inutile negarlo. Il cloud pubblico può generare preoccupazione in quelle persone particolarmente attente alla riservatezza dei dati, poiché –per definizione– condiviso con altri clienti che sfruttano una stessa piattaforma. Normalmente però, è corretto pensare che un tenant (seppur avviato su una macchina che ne ospita diversi) è isolato e protetto, limitato alla propria piccola realtà (o media azienda), e che quei dati restino al sicuro, garantiti da chi il servizio lo eroga.

Il tutto senza considerare inoltre le vigenti normative in merito e la sempre più forte intenzione di far diventare la GDPR uno standard da rispettare alla lettera (se non sai di cosa si tratta, ti rimando all’articolo completo su Wikipedia: it.wikipedia.org/wiki/Regolamento_generale_sulla_protezione_dei_dati), in breve:

[…] restituire ai cittadini il controllo dei propri dati personali e di semplificare il contesto normativo che riguarda gli affari internazionali unificando i regolamenti entro l’UE.

e ancora:

La sicurezza dei dati raccolti è garantita dal titolare del trattamento e dal responsabile del trattamento chiamati a mettere in atto misure tecniche e organizzative idonee per garantire un livello di sicurezza adeguato al rischio. A tal fine il titolare e il responsabile del trattamento garantiscono che chiunque faccia accesso ai dati raccolti lo faccia nel rispetto dei poteri da loro conferiti e dopo essere stato appositamente istruito, salvo che lo richieda il diritto dell’Unione o degli Stati membri (Articolo 32). A garanzia dell’interessato il Regolamento UE 2016/679 regolamenta anche il caso di trasferimento dei dati personali verso un paese terzo o un’organizzazione internazionale (Articolo 44 e ss) e prevede che l’interessato venga prontamente informato in presenza di una violazione che metta a rischio i suoi diritti e le sue libertà (Articolo 33).

[…]

Il titolare del trattamento dei dati avrà l’obbligo legale di rendere note le fughe di dati all’autorità nazionale. I resoconti delle fughe di dati non sono soggetti ad alcuno standard “de minimis” e debbono essere riferite all’autorità sovrintendente non appena se ne viene a conoscenza e comunque entro 72 ore. In alcune situazioni le persone di cui sono stati sottratti i dati dovranno essere avvertite.

A questo ulteriore step, si associa generalmente un uptime garantito molto alto, con relativa assistenza tecnica specializzata che è sempre disponibile 24 ore su 24, 7 giorni su 7, per un totale di 365 giorni all’anno (e 366 nei bisestili!), utile per risolvere problemi tecnici ma anche di esaudire ogni nuova richiesta basata su specifiche esigenze. In un contesto pubblico, le grandi spese e gli obblighi riguardanti il trattamento dei dati sono quasi del tutto eliminati (per modo di dire).

Ricordati che garantire la manutenzione e la sicurezza di un cloud pubblico è responsabilità del provider che vende, togliendo così quel carico di lavoro all’ufficio IT del cliente, che riduce al minimo il tempo e i soldi spesi per il continuo aggiornamento del sistema e la formazione specifica (sul prodotto) del personale, permettendo a quest’ultimo di dedicarsi a nuovi progetti.

Il tuo core business è ciò che vuoi realizzare e mettere a disposizione dei clienti, non il mezzo attraverso il quale arrivi a farlo, lascia che quest’ultimo non sia più un chiodo fisso :-)

In conclusione

Veloce (sia nel provisioning iniziale, sia nell’utilizzo), economico (nella maggior parte dei casi), estremamente scalabile (le risorse possono aumentare o diminuire in base alle esigenze, in un tempo molto rapido e andando a modificare così il costo del servizio stesso), completamente supportato (da chi il servizio lo eroga, evitando di doversi specializzare in configurazione, utilizzo e soprattutto manutenzione).

Questa macchina di cui dovrai solo girare la chiave e guidare è disponibile in molti concessionari, l’Italia propone diversi provider, tra i quali c’è certamente Seeweb.

Condividi l'articolo con i tuoi contatti:

PowershellProblema posto: recuperare le ACL di tutte le cartelle contenute all’interno di una directory padre, esplodendo e fornendo in chiaro i membri dei gruppi eventualmente presenti e autorizzati in Read Only o Read and Write. Dato che l’utility DumpSec (ex-DumpACL, di Somarsoft) non è poi così infallibile e fatta per filtrare la singola cartella con poco sforzo, ho pensato di passare da Powershell e da un’ottima base fornita in questo articolo: my-powershell.com/export-backup-ntfs-permissions.

Ho quindi costruito un più articolato script intorno a quell’istruzione principale, che possa accettare parametri da riga di comando e permettervi di stabilire se fare un’analisi ricorsiva e su quale file CSV esportare il risultato:

Si ottiene in output un file CSV (già detto) che potrà essere aperto in Excel, così da riuscire poi a organizzare i dati in colonna (sono separati da virgola, nda) e vedere così i gruppi ai quali è stata data un’autorizzazione (sia essa in sola lettura o anche scrittura, o magari solo in Traverse folder). A questo punto basta e avanza una query lanciata da un prompt dei comandi, come questa:

dsquery group DC=contoso,DC=com -name $NOMEGRUPPO | dsget group -members

Dove occorrerà sostituire “contoso” e “com” con il proprio dominio, $NOMEGRUPPO con il vero nome del gruppo del quale si vogliono conoscere i membri, come spiegato in questo post: gohgarry.wordpress.com/2011/06/09/dsquery-export-ad-group-members-to-text.

Per chi se lo stesse chiedendo: si può sostituire l’utilizzo di Powershell con ICACLS. Ci ho provato ma i risultati ottenuti non erano presentabili a un utente che non è solito lavorare con questo tipo di tool. Ho quindi preferito Powershell per la possibilità di esportare in un CSV facilmente editabile e inviabile a mezzo posta elettronica.

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

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

Tray di Windows: icone sparite o invisibili? Ecco il fix!Classico articolo promemoria, fatto per chi ha necessità di utilizzare l’utility di Pulizia Disco ma scopre che la sua macchina 2008 R2 non la mette a disposizione. Si perché, di default, il server non la mette a disposizione del suo amministratore. Per aggirare l’ostacolo sarà necessario un riavvio della macchina, giusto perché lo sappiate da subito. La configurazione alla quale faccio riferimento nell’articolo è in inglese, non so riportarvi le traduzioni in italiano (ma non credo sia difficile percorrere il tutto a rigor di logica).

Lanciate il Server Manager (cercandolo direttamente in Start)

Installare l'utility di Pulizia Disco su Windows 2008 Server 1

Lasciate che la ricerca dei moduli installati arrivi al suo termine, quindi spostatevi nella tab delle Features e selezionate la voce relativa all’installazione delle stesse:

Installare l'utility di Pulizia Disco su Windows 2008 Server 2

A questo punto cercate e spuntate la voce Desktop Experience, che però dovrà necessariamente portare con sé l’installazione di Ink and Handwriting Services. Per confermare vi basterà fare clic su Add Required Features:

Installare l'utility di Pulizia Disco su Windows 2008 Server 3

Windows dovrà ora recuperare i file di installazione (non c’è bisogno di intervenire) e vi chiederà di riavviare la macchina. Basterà fare clic su uno dei messaggi di allerta (You must restart … ecc.) per far comparire un popup di richiesta riavvio immediato. Facendo clic su Yes lo effettuerete immediatamente, occhio quindi a tutti gli utenti collegati alla macchina o a uno dei suoi servizi (comprese cartelle di rete condivise e simili), ovviamente vi consiglio di farlo nel minor momento di utilizzo:

Installare l'utility di Pulizia Disco su Windows 2008 Server 4

A macchina riavviata, il Server Manager effettuerà una verifica di installazione, che dovrebbe restituirvi un risultato positivo (vedi immagine di seguito), a questo punto potrete finalmente lanciare una pulizia del disco direttamente dalle sue Proprietà.

Installare l'utility di Pulizia Disco su Windows 2008 Server

Buon lavoro :-)

Condividi l'articolo con i tuoi contatti: