Archives For PowerShell

Un dominio contenente più unità organizzative, può avere necessità di creare gruppi di sicurezza con all’interno tutti gli utenti di una specifica OU. Per farlo, esiste il classico metodo manuale della ricerca * all’interno della OU → Seleziona tutti → Aggiungi a un gruppo, in alternativa torna utile la PowerShell e qualche riga di codice che ho recuperato da una vecchia discussione su ServerFault.

Creare un gruppo di Active Directory partendo da una OU

Si tratta infatti di un codice molto banale da comprendere e modificare per le proprie esigenze, utile anche per eliminare persone (avviandolo altre volte nel corso del tempo, non necessariamente in maniera manuale) che in quella OU non esistono più, ma che essendoci state in passato erano state precedentemente inserite all’interno del gruppo di sicurezza.

Spiego rapidamente cosa c’è da ritoccare:

  • $groupname (riga 2): dovrai dichiarare il nome del gruppo al quale aggiungere gli utenti della OU mantenendo gli apici e inserendo al loro interno il percorso completo del gruppo (CN/OU/DC).
  • $users (riga 3): modifica anche stavolta ciò che c’è tra gli apici posti dopo il -SearchBase, dichiarando il nome della OU dalla quale prelevare tutti gli utenti presenti nel momento in cui lanci lo script di PowerShell (OU/DC).
  • riga 11: copia dalla riga 3 ciò che hai appena modificato e incollalo tra gli apici che trovi subito dopo il -notlike. Questa condizione servirà a confrontare gli utenti presenti nel gruppo con quelli nella OU. Nel caso in cui un utente non faccia più parte della OU, verrà rimosso anche dal gruppo.

Lo script, che dovrà essere eseguito con diritti amministrativi sul Domain Controller di interesse, non fornisce alcun output di conferma a video. Una volta lanciato svolge il suo mestiere e tu potrai verificare l’effettiva buona riuscita andando ad aprire il gruppo che dovrà essere popolato partendo dalla OU.

Escludere gli utenti disabilitati

Se vuoi, puoi modificare il primo filtro di ricerca (quello relativo a $users) affinché vengano lasciati fuori gli utenti disabilitati. Si va quindi ad agire sulla riga 3:

$users = Get-ADUser -Filter * -SearchBase "OU=Contoso,OU=Utenti,DC=contoso,DC=local"

mettendo al posto dell’asterisco la specifica che permette di catturare solo gli utenti abilitati in dominio, ottenendo così:

$users = Get-ADUser -Filter {Enabled -eq $true} -SearchBase "OU=Contoso,OU=Utenti,DC=contoso,DC=local"

Schedulazione della modifica del gruppo

Rimane sempre valida la possibilità di richiamare uno script di PowerShell passando per le Operazioni Schedulate di Windows, così da mantenere il gruppo di sicurezza sempre aggiornato, in base a chi si trova all’interno della OU interessata. Per farlo, ti basterà creare una nuova attività di base e specificare il minimo indispensabile (riporto le voci in inglese qui di seguito, utilizzo la medesima lingua che generalmente si usa per i Windows Server installati in azienda):

  • Action: Start a program
  • Program/script: C:\Windows\system32\windowspowershell\v1.0\powershell.exe
  • Add arguments (optional): -command C:\scripts\Gruppo_dipendenti.ps1

(dove C:\scripts\Gruppo_dipendenti.ps1 dovrà essere modificato con la reale posizione e nome file assegnato allo script di PowerShell).

Il tutto è stato testato con successo su Windows Server 2012 R2. Per dubbi o suggerimenti, l’area commenti è a tua totale disposizione :-)

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Recita il sito web ufficiale: “Dism++ can be considered as a GUI frontend of DISM, but it is based on low-level Component Based Servicing (CBS) interface instead of DISM API or DISM Core API.” e, in effetti, si tratta di un’interfaccia grafica che va a operare con strumenti che hai già a disposizione nel tuo sistema operativo (DISM / CBS), ma che probabilmente non sai utilizzare al massimo delle loro potenzialità e muovendoti con quel pelo di sicurezza in più che vorresti avere. Dism++ ti permette di operare le tue modifiche e i tuoi interventi in maniera più controllata e meglio spiegata.

Dism++: pulizia e gestione profonda del disco e del tuo Windows 1

Dism++

Scaricabile gratuitamente e compatibile con sistemi Vista (!!), 7, 8.1 e 10 (qui il download diretto per 32 e 64 bit, da quel momento in poi il programma potrà aggiornarsi autonomamente su tua conferma senza necessità di andare a scaricare manualmente i nuovi pacchetti), Dism++ nasce come utility portable, senza necessità quindi di essere installata sul sistema che la ospita (comoda da avere a portata di mano su chiave USB o cartella Dropbox / di rete).

Una volta avviato, Dism++ ti permetterà di muoverti subito tra le voci di menu disponibili nella colonna di sinistra. Tra le più importanti sicuramente c’è quella relativa alla Pulizia disco per la rimozione di file di cui “puoi fare a meno“, l’Avvio Automatico e i Servizi, la gestione delle User Appx / Provisioned Appx, le applicazioni installate da Store o passate in provisioning da Windows 10 alla creazione di un nuovo utente locale (cosa solitamente gestibile via PowerShell, non per tutti), e molto (ma molto) altro ancora, anche strumenti che non ti aspetteresti di trovare in un tool di questo tipo (come l’estrazione / creazione dei file ISO partendo dal contenitore ESD).

Nell’Ottimizzazione Sistema potrai invece trovare diverse opzioni per la modifica del comportamento del SO, anche voci particolarmente delicate diversamente intoccabili per un Sistema pensato come “AAS” (As A Service) da Microsoft. Puoi intervenire sul comportamento di Windows Update, ma anche sul riavvio automatico in caso di problemi (BSOD) o l’avvio rapido. Voci attentamente raccolte e organizzate per categoria, alle quali dovrai prestare particolare attenzione (e ti consiglio di evitare modifiche a meno che tu non sappia molto bene cosa stai andando a fare). Da qui in poi la scalata verso Driver (e possibile rimozione completa), gestione delle applicazioni o delle funzionalità installate (molto simile a quella visibile via Pannello di Controllo) e gestione degli aggiornamenti installati è cosa del tutto prevedibile e naturale (ma pericolosa in ogni caso, sempre occhi ben aperti e mouse non troppo a portata di clic).

Prima di concludere, un doveroso passaggio per le funzionalità di riparazione dirette di DISM (già previste da riga di comando e parzialmente anche da GUI di Windows 10), quelle che potrai trovare facendo clic sulla voce Recupero. È da qui che potrai facilmente lanciare la ricerca di errori operata da DISM ed eventualmente la riparazione completa dell’immagine di sistema, così come potrai effettuare un backup o un restore dello stato attuale della tua macchina, utile –magari– prima di operare modifiche che potrebbero mettere a rischio la tua postazione, il tutto sfruttando comandi sempre disponibili da riga di comando, di cui spesso si ignora l’esistenza, o con i quali non ci si vuole mettere alla prova.

Dism++: pulizia e gestione profonda del disco e del tuo Windows 8

Lo avrai capito: Dism++ è un coltellino svizzero dall’indubbia utilità, che può davvero renderti la vita più facile e salvarti in situazioni critiche, ma che –come ogni lama– porta sempre con sé quel rischio intrinseco di un taglio non previsto, nonostante tutta l’attenzione dedicata alle operazioni lanciate. Tienilo a portata di mano e leggi attentamente le informazioni che ti presenterà davanti agli occhi e, nel caso non dovesse farlo, cerca in rete consigli e documentazioni che possano meglio esplicarti pro e contro di ogni operazione che vuoi portare a termine.

Buon lavoro.


In caso di problemi con il download del pacchetto ufficiale, puoi salvarne una copia prendendola dal mio account Box, che ospita la versione 10.1.1000.70 (CbsHost 10.1.1000.62, NCleaner 10.1.1000.62, WimGAPI 10.0.17134.1, disponibile all’URL app.box.com/s/0661r8e09hmmbtzxkm2iwf0sc63hi6am.

Condividi l'articolo con i tuoi contatti:

Quando si abilita la funzione di Archivio in-place di Microsoft Office 365, l’operazione vera e propria di spostamento delle mail (che rispettano i criteri imposti) richiede generalmente un numero di ore non meglio definito, in base generalmente al carico di lavoro dei server di Microsoft e del tuo tenant. Ci sono casi in cui, però, serve che quell’operazione venga svolta abbastanza rapidamente, per cercare magari di snellire il database principale di posta elettronica, e per fortuna c’è la scappatoia sfruttabile via PowerShell.

PowerShell: assegnazione in bulk delle licenze Office 365

Si fa riferimento a questo tipo di operazione nel documento Microsoft relativo allo Start-ManagedFolderAssistant, il processo che si occupa della migrazione delle mail, puoi trovarlo all’indirizzo docs.microsoft.com/en-us/powershell/module/exchange/policy-and-compliance-retention/Start-ManagedFolderAssistant?view=exchange-ps. L’operazione da lanciare è quindi abbastanza semplice. Se hai attivato l’archivio di una casella di posta elettronica (non ha importanza se personale o condivisa), puoi collegarti al tuo Exchange via PowerShell e lanciare:

Start-ManagedFolderAssistant -Identity <Mailbox>

Dovrai solo modificare <Mailbox> con l’indirizzo di posta elettronica sul quale operare (esempio Start-ManagedFolderAssistant -Identity mario@contoso.com).

A questo punto non ti resta che attendere (puoi verificare in qualsiasi momento che il processo venga eseguito tenendo d’occhio la WebMail della casella interessata, noterai che le mail si sposteranno una dopo l’altra in base al criterio impostato sulla singola cartella o sull’intera mailbox).


fonti:
docs.microsoft.com/en-us/powershell/module/exchange/policy-and-compliance-retention/Start-ManagedFolderAssistant?view=exchange-ps
mysysadmintips.com/windows/servers/374-force-archiving-on-hosted-exchange-office-365

×

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"!
Condividi l'articolo con i tuoi contatti:

Una rapida pillola nel caso tu avessi necessità di recuperare la Product Key di un Microsoft Office già installato a bordo macchina, senza però avere il certificato originale o equivalente elettronico (registrato tramite account Microsoft). Il problema è aggirabile tramite PowerShell e uno script originale realizzato e pubblicato su WinAero (qui l’articolo originale: winaero.com/blog/how-to-get-microsoft-office-product-key-without-using-third-party-software).

PowerShell: assegnazione in bulk delle licenze Office 365

Avvia un prompt di PowerShell come amministratore, salva e scompatta questo script (che trovi anche qui di seguito per comodità), quindi lancialo per ottenere a video ciò che desideri:

Io ho effettuato i test con Windows 10 e Office 2016 ProPlus. Pur non ottenendo il nome del prodotto in prima colonna (sarebbe dovuto saltare fuori), il Product Key viene mostrato correttamente (due volte, su più test e diverse macchine, anche questo è strano, ma poco male):

PowerShell: recuperare la Product Key di Office

Potrai ora reinstallare e registrare nuovamente Office 2016 sulla stessa macchina o su un’altra (nel caso di Office 2016 legato a Office 365, hai il limite delle 5 installazioni contemporanee massime).

Buon lavoro.

Condividi l'articolo con i tuoi contatti:

Ti ho parlato di rogne di Sysprep e upgrade in-place verso Windows 1709 giusto una manciata di giorni fa, facendo riferimento all’approfondimento che stai per leggere, dedicato a un problema specifico che ho avuto durante la chiusura di un’immagine, la quale mi ha generato un errore (poi compreso da log e risolto) riguardante MiracastView, una di quelle applicazioni installate insieme a Windows 10, non più presente su Windows 1709 (è rimasta al palo della 1703).

Appunti sparsi su Windows 10 1709, Sysprep e Upgrade in-place

MiracastView

Nel caso tu volessi capire cos’è Miracast:

Wi-Fi CERTIFIED Miracast™ enables seamless display of multimedia content between Miracast® devices. Miracast allows users to wirelessly share multimedia, including high-resolution pictures and high-definition (HD) video content between Wi-Fi devices, even if a Wi-Fi network is not available.

Continua su: wi-fi.org/discover-wi-fi/miracast

Appurato che la simpatica applicazione per lo streaming di immagini verso periferiche nella rete faceva parte di una installazione base di Windows 10 1703, questa non gode dello stesso trattamento nella versione 1709 dell’OS Microsoft, e in più impedisce una corretta chiusura dell’immagine (realizzata per upgrade da 1703 a 1709, chiaramente) che vede il suo completamento ultimo con un colpo di Sysprep prima dello spegnimento macchina (pronta poi alla clonazione). Questo è un esempio estrapolato da un mio setupact.log (che trovi nella cartella C:\Windows\system32\Sysprep\Panther):

Ci sono diversi metodi per affrontare il problema, li ho provati e ti racconto come puoi aggirare l’ostacolo e chiudere con successo la tua immagine.

Secondo Microsoft

Esiste una procedura descritta da Microsoft in un documento di supporto che puoi trovare anche tu all’indirizzo support.microsoft.com/en-us/help/4057974/miracastview-cause-sysprep-error-windows-10-version-1709, la quale mostra il problema che mi sono ritrovato ad affrontare e propone alcune possibili soluzioni.

Il problema che accomuna queste soluzioni consiste nel fatto che debba esistere sul PC la cartella del vecchio Windows precedentemente abbandonato (causa upgrade), la cartella Windows.old. Nel caso tu avessi già cancellato quella cartella, le soluzioni di Microsoft vengono a meno, e sarai costretto a passare al piano B.

Windows 10 1709: problemi di Sysprep a causa di MiracastView

Se provi a rimuovere l’applicazione da PowerShell, questo è l’errore che ottieni.

Piano B: cosa puoi fare senza Windows.old

Ciò che ti serve è il file XML contente i riferimenti del pacchetto MiracastView (Windows.MiracastView_6.3.0.0_neutral_neutral_cw5n1h2txyewy.xml) e un psexec per lanciarti un prompt dei comandi a livello System, entrambi gli oggetti sono disponibili sul mio spazio Box: go.gioxx.org/miracast-sysprep.

Scarica il contenuto della cartella sul tuo PC (possibilmente in una cartella facile da raggiungere, io prenderò come esempio C:\temp), quindi apri un prompt dei comandi come amministratore e spostati in C:\temp, quindi usa il comando:

psexec \\%COMPUTERNAME% -s -i cmd

Puoi fare copia e incolla direttamente sul tuo prompt, non c’è nulla da modificare. Premendo invio dopo aver inserito il comando sopra riportato dovrai accettare la licenza che ti verrà proposta, quindi ti si dovrebbe aprire un’altra finestra del Prompt dei comandi. Quest’ultima sta girando –salvo errori– con privilegio System. A questo punto dovrai nuovamente spostarti nella C:\temp e inserire questo ulteriore comando:

copy Windows.MiracastView_6.3.0.0_neutral_neutral_cw5n1h2txyewy.xml C:\ProgramData\Microsoft\Windows\AppRepository\

Questo comando –salvo errori– copierà il file XML di MiracastView all’interno della cartella usata da Windows per conservare tutti i file XML delle applicazioni installate da Store. Sei costretto a farlo con utenza System perché nonostante tu sia amministratore della macchina, la copia di dati all’interno della cartella AppRepository nella %ProgramData% ti è inibita.

Windows 10 1709: problemi di Sysprep a causa di MiracastView 1

Io avevo salvato il file XML su chiave USB, non considerare quello in immagine come l’esempio da seguire ;-)

Prova ora a disinstallare completamente il pacchetto di MiracastView via PowerShell, non dovresti riscontrare più anomalie, riuscendo così a sradicarlo completamente:

Windows 10 1709: problemi di Sysprep a causa di MiracastView 2

Sei ora pronto a chiudere l’immagine con Sysprep, ma fai prima pulizia (cleanmgr) così da evitare di lasciare sporcizia in giro.

In caso di dubbi inerenti questo specifico articolo, lascia un commento nell’area preposta in coda all’articolo, cercherò di darti una mano a risolvere la tua anomalia legata a MiracastView.


riferimenti:
social.technet.microsoft.com/Forums/windows/en-US/e610f718-b2d4-45a2-b4ff-ded8c755bdbb/unable-to-sysprep-after-fall-creator-update-due-to-miracast?forum=win10itprosetup
social.technet.microsoft.com/Forums/en-US/3267d7a5-14a1-4fe2-925c-1bf6a216d7ab/windows-10-1709-sysprep-fail?forum=win10itprosetup
support.microsoft.com/en-us/help/2769827/sysprep-fails-after-you-remove-or-update-windows-store-apps-that-inclu
deploymentresearch.com/Research/Post/615/Fixing-why-Sysprep-fails-in-Windows-10-due-to-Windows-Store-updates

Condividi l'articolo con i tuoi contatti: