Gestire gli aggiornamenti di sistema da PowerShell

Per gli amanti della PowerShell, ecco come conoscere gli aggiornamenti installati su una macchina, utilizzando la Powershell:

PS C:\> Get-HotFix|sort -property InstalledOn

Il comando Get-Hotfix recupera tutti gli hotfix installati, mentre la pipe sort si occupa di mostrarli in ordine di data di installazione (e non alfabeticamente, come da default).

Da segnalare che il comando Get-Hotfix include anche i parametri -ComputerName e -Credential per ottenere la lista degli hotfix installati su una macchina remota.

Infine, per la gestione e installazione degli update di sicurezza attraverso PowerShell (anziché attraverso interfaccia grafica), segnalo questo modulo da installare per avere nuove classi di gestione: http://tinyurl.com/bvktnbt

Powershell: Gestire le DACL degli Authenticated Users

Mi è recentemente capitata la (s)fortuna di dover creare uno script PowerShell per compiere delle operazioni in ActiveDirectory.

Tra i compiti da eseguire, dovevo eliminare le DACL del gruppo “Authenticated Users” alla creazione di una nuova Organizational Unit.

Dato che i permessi (Read+ListChildren) assegnati al gruppo “Authenticated Users” per gli oggetti di tipo organizationalunit vengono impostati automaticamente dalle regole del DefaultSchema, le possibilità erano due:

  1. Accedere come SchemaAdmin e modificare le security dell’oggetto organizationalunit
  2. Far creare l’OU con i permessi di default e modificarli poi tramite script

La seconda opzione è meno invasiva ed ho quindi optato per quest’ultima.

Per agevolare le operazioni di gestione di ActiveDirectory tramite PowerShell avevo installato un PSSnapIn sviluppato da terze parti, Activer Roles Server (disponibile qui: http://www.quest.com/activeroles-server/), che tra i comandi aggiuntivi ha anche:

Get-QADPermission #Retrieve access control entries (ACEs)
Remove-QADPermission #Delete access control entries (ACEs) from the discretionary access control list (DACL) of a directory object

Concatenando i due comandi potevo ottenere il risultato voluto:

Get-QADPermission -account <Distinguished name> <OU> | Remove-QADPermission

ovvero

Get-QADPermission -SchemaDefault -account "Authenticated Users" <OU> | Remove-QADPermission

Essendo il gruppo Authenticated Users” un gruppo ForeignSecurityPrincipals con un Well-known SID, è possibile utilizzare nello script, al posto del DistinguishedName, direttamente il SID, che per tale gruppo è S-1-5-11 (vedi il technet per i well-known SID: http://technet.microsoft.com/en-us/library/cc978401.aspx).

Il comando dell’esempio diventa quindi:

Get-QADPermission -SchemaDefault -account S-1-5-11 <OU> | Remove-QADPermission

 

WINDOWS 2008R2 CORE AS LINUX

Ok, ok, il titolo è provocatorio, ma mi sono divertito a provare a rendere più “Linux friendly” (hehehe) il nuovissimo Windows Server 2008R2 in installazione Core.

Al primo avvio di W2K8R2 core, infatti, viene presentato uno scarno prompt di comandi….un pò pochino…

Vi informo subito: questa non è una guida o una best pratice per l’utilizzo di Windows 2008R2 Server Core; è solo il divertimento (mio) di “customizzare” il sistema operativo.

Il primo passo è stato installare la più potente PowerShell: in questo caso sono ricorso alla guida di Andy Schneider:

start /w ocsetup MicrosoftWindowsPowerShell

La PowerShell verrà installata in C:\windows\system32\windowspowershell\v1.0\powershell.exe.

Il FileManager

Lo volevo potente, stabile e poco esigente in termini di risorse: la risposta è caduta su Total Commander.

Il programma funziona perfettamente, con l’unica pecca di non caricare le icone dei comandi più utilizzati sulla toolbar superiore.

Il programma di gestione

Il pannello di controllo di Windows è davvero troppo comodo per farne a meno, giusto? Ecco quindi una rivisitazione adatta per W2k8R2 Core: Windows Server Core – CoreConfigurator, del buon Guy Teverovsky. Questa semplice GUI ci viene in aiuto per i compiti di amministrazione più comuni: gestione utenti/gruppi, installazione/rimozione di programmi, configurazione delle schede di rete e del firewall…

Davvero un tool che non deve mancare!

Il browser

Potevo farmi mancare un bel browser web? Certo che no! E quindi, via su Mozilla-x86-64 a scaricare la versione a 64bit del buon Mozilla Firefox!

Il WindowManager

Quello di default di Windows (e quindi anche della versione Core) è piuttosto spartano e privo di funzioni; perchè allora non sostituirlo con uno più potente e flessibile (e magari con un bel menu sul tasto destro del mouse, in modo da far partire velocemente le applicazioni installate?

La scelta è caduta subito, e senza esitazioni, su BlackBox for Windows, la reimplementazione del famoso BlackBox in ambiente Microsoft.

Risultato finale

Ecco qui lo screenshot finale del mio lavoro:

Join di un client Ubuntu 9.10 in un dominio di Active Directory

Per tutti coloro che desiderano, o hanno la necessità al lavoro di integrare una workstation Gnu/Linux (nel nostro esempio, equipaggiata con Ubuntu 9.10) con un dominio di Active Directory, ecco come fare.

Innanzitutto, occorre installare il pacchetto likewise-open; per chi, come me, è particolarmente pigro e non vuol fare troppa fatica ad imparare un nuovo tool a linea di comando, consiglio di installare direttamente la GUI, che è molto intuitiva e completa; quindi aprite un terminale e digitate

sudo apt-get install likewise-open5-gui

Il pacchetto porterà con sè un certo numero di pacchetti (tra cui quelli del protocollo Kerberos, indispensabili per l’autenticazione.

Ora è possibile scegliere la GUI direttamente da Sistema > Amministrazione > Active Directory Membership
likewise1.jpg

Il meccanismo di Join al dominio è estremamente intuitivo, e anzi permette una flessibilità superiore del tool nativo di Microsoft, perchè si può scegliere, da subito, se registrare la macchina nella Organizational Unit di default del dominio (generalmente, Computers) o se inserirla direttamente in una OU specifica.
likewise2.jpg

Dopo il riavvio (richiesto) è possibile eseguire il login utilizzando il proprio utente di Active Directory; attenzione, però, perchè l’autenticazione sia accettata occorre utilizzare il FDQN del dominio, in questo modo (poniamo, ad esempio, come dominio localdominio.adds):

localdominio.adds\mionomeutente

Et voilà; login effettuato.

Visibilità su AD

È interessante notare come, anche sul Dominio Active Directory, il sistema operativo della workstation venga correttamente riportato.
likewise3.jpg

Il problema SUDO

Se siete gli unici utenti della macchina, e volete continuare ad utilizzare gli strumenti amministrativi di Ubuntu, magari utilizzando le credenziali dell’utente di dominio, occorre modificare il file /etc/sudoers per aggiungere tale utente.

Aprite un Terminale e diventate root (passando le credenziali dell’utente locale utilizzato in fase di installazione), quindi modificate il file con il comando visudo.

Attenzione: nel file suodoers dovrete utilizzare il nome NetBios del dominio e il doppio backslash, in questo modo:

LOCALDOMINIO\\mionomeutente ALL=(ALL) ALL

Dopo tale modifica, anche per le azioni amministrative locali sulla macchina, sarà possibile utilizzare le credenziali di dominio.
likewise4.jpg

Alla prossima!