martedì 14 aprile 2020

Windows Server 2019: Limitare l'accesso a orari e giorni specifici di un account utente

Tramite Active Directory è possibile limitare il logon di un'account utente a determinati orari e giorni.


Limitare l'accesso di un account utente tramite il Centro di Amministrazione di Active Directory

  • Da Server Manager cliccare sul menu Strumenti e selezionare Centro di amministrazione di Active Directory. In alternativa premere la combinazione di tasti WIN+R, digitare dsac.exe e premere invio.
    Windows Server 2019, Centro di amministrazione di Active Directory
    FIG 1 - Windows Server 2019, Centro di amministrazione di Active Directory
  • Espandere il domino e le unità organizzative fino a raggiungere l'account utente di proprio interesse. Cliccare con il tasto destro del mouse sull'account utente e selezionare Proprietà.
    Centro di amministrazione di Active Directory, Proprietà account utente
    FIG 2 - Centro di amministrazione di Active Directory, Proprietà account utente
  • All'interno della finestra relativa all'account utente, cliccare sul link Orario di accesso....
    Proprietà account utente, Orario di accesso
    FIG 3 - Proprietà account utente, Orario di accesso
  • Come visibile in FIG 4 le caselle blu evidenziano quando l'utente può effettuare il logon mentre quelle in bianco indicano quando il logon è inibito. Per default l'utente è sempre abilitato ad effettuare il logon. Per impedire che l'utente possa effettuare il logon a determinate ore/giorni, selezionare le caselle corrispondenti e cliccare sull'opzione Accesso negato.
    Impostazione Orario di accesso
    FIG 4 - Impostazione Orario di accesso
  • Cliccare su OK per confermare la restrizione.
  • Per ripristinare il logon basta selezionare le relative caselle di colore bianco e cliccare sull'opzione Accesso autorizzato.
Da questo momento se l'utente tenterà di effettuare il logon in un'ora/giorno non previsto visualizzerà il messaggio mostrato in FIG 5. Da tenere in considerazione che la restrizione non esegue automaticamente il logoff forzato di un utente già loggato.
Windows 10, Restrizioni dell'account sull'orario di accesso
FIG 5 - Windows 10, Restrizioni dell'account sull'orario di accesso




Limitare l'accesso di un account utente tramite Utenti e Computer di Active Directory

  • Da Server Manager cliccare sul menu Strumenti e selezionare Utenti e Computer di Active Directory (Active Directory Users and Computers). In alternativa premere la combinazione di tasti WIN+R digitare dsa.msc e premere invio.
    Server Manager, Strumenti, Utenti e computer di Active Directory
    FIG 6 - Server Manager, Strumenti, Utenti e computer di Active Directory
  • Espandere il domino e le unità organizzative fino a raggiungere l'account utente di proprio interesse. Cliccare con il tasto destro del mouse sull'account utente e selezionare Proprietà.
    Utenti e computer di Active Directory, Account utente
    FIG 7 - Utenti e computer di Active Directory, Account utente
  • Selezionare la scheda Account quindi cliccare sul pulsante Orario di accesso...
    Account utente, Orario di accesso
    FIG 8 - Account utente, Orario di accesso
  • Per impedire che l'utente possa effettuare il logon a determinate ore/giorni, selezionare le caselle relative e cliccare sull'opzione Accesso negato.
    Impostazione Orario di accesso
    FIG 9 - Impostazione Orario di accesso
  • Cliccare su OK per confermare la restrizione.



Limitare l'accesso di un account utente tramite tramite PowerShell

Per limitare l'accesso di un account utente a specifiche ore/giorni della settimana tramite PowerShell è possibile utilizzare il cmdlet Set-AdUser. Ad es. per impedire all'utente Yosemite Sam (presente nel dominio mycompany.local\Direzione\Utenti) di loggarsi la domenica, da Windows PowerShell (amministratore) eseguire il comando:
Set-ADUser -Identity:"CN=Yosemite Sam,OU=Utenti,OU=Direzione,DC=mycompany,DC=local" -Replace:@{"logonHours"="0","0","128","255","255","255","255","255","255","255","255","255","255","255","255","255","255","255","255","255","127"} -Server:"Server1DC.mycompany.local"







sabato 11 aprile 2020

Windows 10: Visualizzazione attività in stile Windows XP

In Windows 7 e Windows 10, per accedere temporaneamente alla vecchia interfaccia in stile Windows XP della funzione Visualizzazione attività basta usare una particolare combinazione di tasti:
  • Tenere premuto il tasto ALT (quello alla sinistra della barra spaziatrice);
  • Premere e rilasciare velocemente il tasto ALT Gr (alla destra della barra spazio);
  • Premere il tasto TAB tenendo sempre premuto il tasto ALT.


Se si vuole impostare in maniera permanente la vecchia interfaccia è necessario procedere tramite il registro di sistema:
  • Premere la combinazione di tasti WIN+R per aprire la finestra di dialogo Esegui e digitare regedit seguito da invio per avviare l'editor del registro di sistema;
  • Posizionarsi sulla chiave
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
  • Creare un nuovo valore DWORD a 32-bit (basta cliccare con il tasto destro del mouse in un punto vuoto nella parte destra della finestra e selezionare la voce corrispondente nel menu Nuovo), e rinominarlo in AltTabSettings.
  • Eseguire un doppio click sulla voce AltTabSettings, impostare il suo valore ad 1 e confermare la modifica cliccando su OK.
    Regedit, AltTabSettings
    FIG 1 - Regedit, AltTabSettings
Per rendere effettiva la modifica far disconnettere/riconnettere l'utente al sistema (in alternativa è possibile terminare e avviare nuovamente il processo explorer.exe).

Per ripristinare l'impostazione di default basterà eliminare il valore AltTabSettings e procedere nuovamente alla disconnessione/riconnessione dell'utente al sistema.

Per chi non vuole mettere le mani all'interno del registro può scaricare, dal seguente link, i file .reg per attivare/disattivare la Visualizzazione attività in stile Windows XP.
DOWNLOAD





giovedì 9 aprile 2020

Windows Server 2019: Assegnare ad un gruppo restrizioni sulla password (PSO)

Nell'articolo Windows Server 2019: Impostare la complessità della password tramite Password Settings Object è stato mostrato come creare un oggetto contenente impostazioni/restrizioni relative alla password (FINE-GRAINED password policy). In questo articolo mostrerò come assegnare tali restrizioni ad un gruppo.
Supponiamo di voler assegnare tali impostazioni a tutti gli utenti che fanno parte del gruppo GRP_Marketing (creato negli articoli precedenti all'intero del nostro dominio nell'unità organizzativa Marketing). Vediamo come è possibile effettuare l'operazione tramite il Centro di amministrazione di Active Directory e PowerShell.


Assegnare ad un gruppo restrizioni sulla password (PSO) tramite Centro di amministrazione di Active Directory

  • Da Server Manager cliccare sul menu Strumenti e selezionare Centro di amministrazione di Active Directory. In alternativa premere la combinazione di tasti WIN+R, digitare dsac.exe e premere invio.
    Windows Server 2019, Centro di amministrazione di Active Directory
    FIG 1 - Windows Server 2019, Centro di amministrazione di Active Directory
  • Selezionare il proprio dominio quindi cliccare sulla UO Marketing, selezionare il gruppo GRP_Marketing,  cliccarci su con il tasto destro del mouse e selezionare Proprietà dal menu contestuale.
    Centro di amministrazione di Active Directory, Proprietà gruppo
    FIG 2 - Centro di amministrazione di Active Directory, Proprietà gruppo
  • Cliccare su Impostazioni password. In Impostazioni password associate direttamente cliccare sul pulsante Assegnare.
    Impostazioni password associate direttamente
    FIG 3 - Impostazioni password associate direttamente
  • Nella casella Immettere il nome dell'oggetto da selezionare digitare il nome del PSO creato nell'articolo precedente, cliccare su Controlla nomi, quindi cliccare su OK per procedere con l'assegnazione.
    Seleziona Oggetto impostazioni password
    FIG 4 - Seleziona Oggetto impostazioni password
  • Da questo momento gli utenti che appartengono al gruppo GRP_Marketing, nel cambio password, dovrà rispettare le condizioni impostate.
    PSO aggiunto al gruppo
    FIG 5 - PSO aggiunto al gruppo



Assegnare ad un gruppo restrizioni sulla password (PSO) tramite PowerShell

Per assegnare ad un gruppo la policy FINE-GRAINED policy tramite PowerShell, viene utilizzato il cmdlet Add-ADFineGrainedPasswordPolicySubjectAvviare Windows PowerShell (amministratore) ed eseguire il comando
Add-ADFineGrainedPasswordPolicySubject -Identity:"CN=PSO_Domain_Admin,CN=Password Settings Container,CN=System,DC=mycompany,DC=local" -Server:"Server1DC.mycompany.local" -Subjects:"CN=GRP_Marketing,OU=Marketing,DC=mycompany,DC=local"




Verificare Impostazioni password di un account utente

Nei paragrafi precedenti è stato assegnato al gruppo GRP_Marketing la restrizione sulle password tramite l'assegnazione del PSO. Per verificare le restrizioni attribuite ad un account utente che fa parte del gruppo:

  • Dal Centro di amministrazione di Active Directory navigare all'interno del dominio fino all'account utente che si intende verificare (ne nostro caso mycompany.local\Marketing\Utenti)
  • Cliccare sull'account da verificare con il tasto destro del mouse e selezionare Visualizza impostazioni password risultanti.
    Centro di amministrazione di Active Directory, Visualizza impostazioni password risultanti
    FIG 6 - Centro di amministrazione di Active Directory, Visualizza impostazioni password risultanti
  • Apparirà a video l'oggetto PSO che è stato assegnato al gruppo GRP_Marketing e di conseguenza agli account utente appartenenti al gruppo.
    Password Settings Object
    FIG 7 - Password Settings Object






lunedì 6 aprile 2020

Windows Server 2019: Impostare la complessità della password tramite Password Settings Object

All'interno di un dominio è sempre consigliabile stabilire una policy aziendale per forzare l'utilizzo di password complesse al fine di prevenire (o quantomeno rendere difficili) accessi non autorizzati.
Già a partire da Windows Server 2012 è possibile controllare la complessità delle password attraverso l'utilizzo dei criteri granulari per le password (FINE-GRAINED password policy) e la creazione di Password Settings Object (PSO). I requisiti minimi per procedere sono i seguenti:
  • Sia presente almeno un Domain Controller con Windows Server 2012 o superiore;
  • Il livello di funzionalità della foresta sia impostata almeno su Windows Server 2008.
Utilizzando Windows Server 2019 e il livello di funzionalità della foresta di Windows Server 2016 i requisiti sono ampiamente rispettati. Solo i membri del gruppo Domain Admin possono creare PSO.



Creazione di Password Settings Object (PSO) tramite il Centro di amministrazione di Active Directory

  • Da Server Manager cliccare sul menu Strumenti e selezionare Centro di amministrazione di Active Directory. In alternativa premere la combinazione di tasti WIN+R, digitare dsac.exe e premere invio.
    Windows Server 2019, Centro di amministrazione di Active Directory
    FIG 1 - Windows Server 2019, Centro di amministrazione di Active Directory
  • Selezionare il proprio dominio quindi aprire il container System con un doppio click;
    Centro di amministrazione di Active Directory, container System
    FIG 2 - Centro di amministrazione di Active Directory, container System

  • Cliccare due volte su Password Settings container;
    Centro di amministrazione di Active Directory, Password Settings Container
    FIG 3 - Centro di amministrazione di Active Directory, Password Settings Container
  • Sul pannello Attività (sul lato destro della finestra) cliccare su Nuovo quindi Impostazioni password;
    Impostazioni password
    FIG 4 - Impostazioni password
  • All'interno della casella Nome specificare il nome da assegnare all'oggetto. E' consigliabile utilizzare un nome significativo che consenta di capire il suo scopo. Ad es. dovendo creare un PSO per gli amministratori di dominio un nome significativo potrebbe essere PSO_Domain_Admin.
  • All'interno del campo Precedenza inserire il valore 1. Il valore di tale campo ci permette di specificare la precedenza dell'oggetto: nel caso in cui su un account utente o su un gruppo siano definite più PSO, quello con il valore più basso avrà la precedenza.
  • Il campo Lunghezza minima password consente di specificare il numero minimo di caratteri da utilizzare per la password. Impostare tale campo a 15 caratteri.
  • Imponi cronologia delle password.Tale campo, se selezionato, permette di impedire che l'utente riutilizzi una password già utilizzata in precedenza. Il valore di default di tale campo è 24 il che comporta che l'utente può reinserire una password già utilizzata in passato solo dopo 24 cambi password. Lasciare l'opzione attiva con il valore di default.
  • Imponi validità minima password. Permette di specificare dopo quanto tempo dal cambio password l'utente potrà nuovamente modificarla. Il valore di default è 1 quindi quando l'utente cambia la password dovrà aspettare il giorno successivo (24h) per poterla cambiare nuovamente.
  • Imponi validità massima password. Il valore di default è 42. Modificare tale valore in 30. Il campo permette di specificare dopo quanti giorni l'utente è obbligato a cambiare password.
  • Attivare l'opzione Applica criteri di blocco account. Nel campo Numero di tentativi di accesso non riusciti consentiti inserire 5. Nel campo Ripristina conteggio tentativi di accesso non riusciti lasciare il valore 30. Lasciare attiva l'opzione Per un periodo di tempo pari a (minuti) valorizzata a 30. Con tali opzioni, dopo 5 tentativi di accesso non riusciti, l'account verrà bloccato per 30 minuti. Il contatore degli accessi non riusciti verrà resettato dopo 30 accessi riusciti consecutivi.
  • Cliccare su OK per completare la creazione del PSO con le impostazioni settate.
    Creazione PSO
    FIG 5 - Creazione PSO

Nuovo oggetto impostazioni password (PSO)
FIG 6 - Nuovo oggetto impostazioni password (PSO)

Creazione di Password Settings Object (PSO) tramite PowerShell

Per eseguire la stessa operazione tramite PowerShell è necessario utilizzare il cmdlet New-ADFineGrainedPasswordPolicy. Avviare Windows PowerShell (amministratore) ed eseguire il seguente comando
New-ADFineGrainedPasswordPolicy -ComplexityEnabled:$true -LockoutDuration:"00:30:00" -LockoutObservationWindow:"00:30:00" -LockoutThreshold:"5" -MaxPasswordAge:"30.00:00:00" -MinPasswordAge:"1.00:00:00" -MinPasswordLength:"15" -Name:"PSO_Domain_Admin" -PasswordHistoryCount:"24" -Precedence:"1" -ReversibleEncryptionEnabled:$false -Server:"Server1DC.mycompany.local"






mercoledì 1 aprile 2020

Windows Server 2019: Recuperare un oggetto cancellato tramite il Cestino di Active Directory

Se è stato eliminato accidentalmente un'oggetto in AD e il cestino di Active Directory è attivo (si veda articolo Windows Server 2019: Abilitare il cestino di Active Directory), è possibile recuperarlo velocemente seguendo questi semplici passaggi:
  • Da Server Manager cliccare sul menu Strumenti e selezionare Centro di amministrazione di Active Directory. In alternativa premere la combinazione di tasti WIN+R, digitare dsac.exe e premere invio.
    Server Manager, Centro di amministrazione di Active Directory
    FIG 1 - Server Manager, Centro di amministrazione di Active Directory
  • Dal navigation pane (sul lato sinistro della finestra) selezionare il proprio dominio quindi eseguire un doppio click sul container Deleted Objects.
    Centro di amministrazione di Active Directory, container Deleted Objects
    FIG 2 - Centro di amministrazione di Active Directory, container Deleted Objects
  • Cliccare, con il tasto destro del mouse, sull'oggetto che si intende recuperare e, dal menu contestuale, selezionare l'opzione Ripristina.
    Centro di amministrazione di Active Directory, ripristina oggetto eliminato
    FIG 3 - Centro di amministrazione di Active Directory, ripristina oggetto eliminato
  • L'oggetto sarà ripristinato all'interno del container/UO da cui era stato eliminato.
    Centro di amministrazione di Active Directory, oggetto recuperato dal cestino di Active Directory
    FIG 4 - Centro di amministrazione di Active Directory, oggetto recuperato dal cestino di Active Directory






venerdì 27 marzo 2020

Windows Server 2019: Abilitare il cestino di Active Directory

Per default tutti gli oggetti che vengono cancellati in Active Directory non possono essere recuperati. Chi ha avuto la sfortuna di cancellare accidentalmente un oggetto in AD e dovuto recuperarlo da un backup del server, sa bene che si tratta di un'operazione tutt'altro che semplice e veloce. Fortunatamente, a partire da Windows Server 2008 R2, Microsoft ha introdotto il cestino per Active Directory che permette il recupero degli oggetti cancellati in modo analogo a quanto avviene con il cestino di Windows per file e cartelle. Tale funzionalità è disattivata per default e va attivata manualmente. Prima di attivare la funzione è necessario che siano rispettati alcuni prerequisiti.


Prerequisiti Cestino di Active Directory

  • Almeno un Domain Controller deve avere Windows Server 2012 R2 con Centro di amministrazione di Active Directory.
  • Tutti gli altri Domain Controller all'interno del dominio devono avere almeno Windows Server 2008 R2 o superiore.
  • Il livello funzionale della foresta deve essere Windows Server 2008 R2 o superiore.

In Windows Server 2008 R2 il cestino di Active Directory poteva essere gestito solamente tramite PowerShell. A partire da Windows Server 2012 R2 il cestino può essere gestito tramite interfaccia grafica del Centro di amministrazione di Active Directory rendendo più semplice l'operazione di recupero degli oggetti cancellati.
Quando non è abilitato il cestino di Active Directory e si cancella un oggetto, questo viene contrassegnato per la cancellazione (tombstoned). Tali oggetti vengono definitivamente eliminati solo quando verrà eseguito il processo di garbacecollection.

Con il cestino di Active Directory abilitato, quando si cancella un oggetto questo viene contrassegnato come oggetto cancellato per l'arco di tempo specificato dalla proprietà msDS-DeletedObjectLifetime in Active Directory Domain Services (di default è nulla). Scaduto il tempo indicato in msDS-DeletedObjectLifetime  l'oggetto viene contrassegnato come recycled e i suoi attributi vengono rimossi. L'oggetto risiede ancora nel cestino e può essere recuperato per la durata della sua vita definita dall'attributo tombstoneLifetime in Active Directory DS. Quando viene abilitato il cestino di Active Directory, gli oggetti preesistenti e contrassegnati per la cancellazione (tombstoned) vengono convertiti in oggetti recycled tuttavia non potranno essere recuperati come qualsiasi altro oggetto recycled.



Abilitare il cestino di Active Directory tramite Centro di amministrazione di Active Directory

  • Da Server Manager cliccare sul menu Strumenti e selezionare Centro di amministrazione di Active Directory. In alternativa premere la combinazione di tasti WIN+R, digitare dsac.exe e premere invio.
    Server Manager, Centro di amministrazione di Active Directory
    FIG 1 - Server Manager, Centro di amministrazione di Active Directory
  • Selezionare il proprio dominio quindi, sul pannello delle Attività presente sulla destra della finestra, cliccare su Abilita Cestino....
    FIG 2 - Centro di amministrazione di Active Directory, Abilita Cestino...
  • Una finestra di dialogo ci avvisa che l'operazione non è reversibile: una volta abilitato il cestino di Active Directory non potrà essere più disabilitato. Confermare cliccando su OK per proseguire.
    Conferma abilitazione cestino AD
    FIG 3 - Conferma abilitazione cestino AD
  • Una nuova finestra di dialogo avvisa l'utente che il cestino non sarà disponibile finché l'abilitazione non verrà replicata a tutti i Domain Controller della foresta e non verrà aggiornato il Centro di amministrazione di Active Directory. Cliccare su OK.
    Abilitazione cestino AD
    FIG 4 - Abilitazione cestino AD
  • Terminata la replica dell'abilitazione basta cliccare sull'apposto link per aggiornare le informazioni visualizzate nella finestra del Centro di amministrazione di Active Directory e vedremo apparire un nuovo container nominato Deleted Objects. Da questo momento gli oggetti eliminati da AD potranno essere recuperati all'interno di tale container.
    Centro di amministrazione di Active Directory, Container Deleted Objects
    FIG 5 - Centro di amministrazione di Active Directory, Container Deleted Objects



Abilitare il cestino di Active Directory tramite PowerShell

In alternativa al Centro di amministrazione di Active Directory è possibile abilitare il cestino di AD tramite PowerShell e l'utilizzo del cmdlet Enable-ADOptionalFeature
Da Windows PowerShell avviato come amministratore eseguire il comando 
Enable-ADOptionalFeature –Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=mycompany,DC=local' –Scope ForestOrConfigurationSet –Target 'mycompany.local'
Rispondere affermativamente alla richiesta di esecuzione dell'operazione.
Abilitazione del cestino di Active Directory mediante PowerShell
FIG 6 - Abilitazione del cestino di Active Directory mediante PowerShell
Dopo aver atteso i tempi di replica dal Centro di amministrazione di Active Directory sarà visibile il nuovo container Deleted Objects.






lunedì 23 marzo 2020

Windows Server 2019: Aggiungere una workstation Windows 10 al dominio tramite PowerShell

Per aggiungere un computer con sistema operativo Windows 10 al dominio è possibile utilizzare il cmdlet Add-Computer di PowerShell

Il cmdlet Add-Computer viene utilizzato per aggiungere il computer locale o computer remoti ad un dominio, ad un gruppo di lavoro o per spostarli da un dominio all'altro. Il comando provvede anche alla creazione dell'account all'interno del dominio nel caso non fosse già presente ed è possibile utilizzare i parametri per specificare un particolare Domain Controller, un'unità organizzativa dove aggiungere il computer, visualizzare un log verboso ecc.


Sintassi

Add-Computer
   [-ComputerName <String[]>]
   [-LocalCredential <PSCredential>]
   [-UnjoinDomainCredential <PSCredential>]
   [-Credential <PSCredential>]
   [-DomainName] <String>
   [-OUPath <String>]
   [-Server <String>]
   [-Unsecure]
   [-Options <JoinOptions>]
   [-Restart]
   [-PassThru]
   [-NewName <String>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]


Parametri

-ComputerName
Specifica il computer (o più computer separati da virgola) da aggiungere al dominio. Per default viene considerato il computer locale. Il computer può essere specificato attraverso il suo nome NetBIOS, indirizzo IP o tramite il FQDN (Fully Qualified Domain Name)

-Confirm
Permette di richiedere una conferma prima dell'esecuzione del cmdlet.

-Credential
Specifica un'account utente che ha i permessi necessari per aggiungere computer al dominio. Se omesso viene considerato l'utente corrente che sta eseguendo il comando. Al parametro può essere passato il nome dell'account, come ad es. "utente01" o "Dominio\utente01" oppure può essere passato un'oggetto PSCredential generato dal cmdlet Get-Credential. Se viene specificato un'account utente verrà richiesto di inserire la password all'esecuzione del comando.

-DomainName
Al parametro va passato il dominio a cui aggiungere il computer. 

-Force
Non visualizza il messaggio di conferma per ogni computer che viene aggiunto al dominio dal comando.

-LocalCredential
Specifica un account utente che ha i permessi per accedere ai computer indicati da -ComputerName. Al parametro può essere passato il nome dell'account, come ad es. "utente01" o "Dominio\utente01" oppure può essere passato un'oggetto PSCredential generato dal cmdlet Get-Credential. Se viene specificato un'account utente verrà richiesto di inserire la password all'esecuzione del comando.

-NewName
Specifica un nuovo nome da assegnare al computer all'interno del dominio.

-OUPath
Permette di specificare l'unità organizzativa in cui creare l'account computer. Va passato il Distinguished Name dell'unità organizzativa tra virgolette.

-Options
Permette di specificare opzioni avanzate utilizzate da Add-Computer nella join al dominio. I valori accettati sono i seguenti (nel caso vengano specificati più valori vanno separati da virgola):
  • AccountCreate: Crea un account all'interno del dominio. L'operazione viene già eseguita dal cmdlet Add-Computer e tale valore è incluso solo per completezza.
  • Win9XUpgrade: Indica che l'operazione di join al dominio fa parte di un aggiornamento del sistema operativo Windows.
  • UnsecuredJoin: Esegue una join non protetta.
  • PasswordPass: Imposta la password della macchina con il valore del parametro Credential(DomainCredential) dopo aver eseguito una join non protetta. Questa opzione indica anche che il valore del parametro Credential (DomainCredential) è una password macchina e non una password utente. L'opzione è valida solo quando viene specificata anche l'opzione UnsecuredJoin. Quando si utilizza questa opzione, le credenziali fornite al parametro -Credential devono avere un nome utente nullo.
  • JoinWithNewName: Rinomina il nome del computer nel nuovo dominio con il nome specificato dal parametro NewName. Quando si utilizza il parametro -NewName, questa opzione viene impostata automaticamente. Questa opzione è progettata per essere utilizzata con il cmdlet Rename-Computer. Se si utilizza il cmdlet Rename-Computer per rinominare il computer, ma non si riavvia il computer per rendere effettiva la modifica, è possibile utilizzare questo parametro per unire il computer ad un dominio con il suo nuovo nome.
  • JoinReadOnly: Utilizza un account macchina esistente per collegare il computer a un controllore di dominio di sola lettura. L'account macchina deve essere aggiunto all'elenco consentito per la politica di replica della password e la password dell'account deve essere replicata al controller di dominio in sola lettura prima dell'operazione di join.
  • InstallInvoke: Imposta i flag create (0x2) e delete (0x4) del parametro FJoinOptions del metodo JoinDomainOrWorkgroup. Per maggiori informazioni fare riferimento al documento JoinDomainOrWorkgroup method of the Win32_ComputerSystem class presente in MSDN.


-PassThru
Restituisce un oggetto che rappresenta l'item su cui si sta lavorando. Per impostazione predefinita, il cmdlet non genera alcun output.

-Restart
Riavvia il computer una volta aggiunto al dominio. Il riavvio è comunque richiesto per rendere effettive le modifiche.

-Server
Permette di specificare un Domain Controller tramite il quale aggiungere il computer al dominio. Il nome da passare al parametro va specificato nel formato dominio\NomeServer (ad es. mycompany\Server1DC). Per default non viene specificato alcun Domain Controller. 

-UnjoinDomainCredential
Tale parametro viene utilizzato per rimuovere computer dal dominio. Al parametro va passato un account utente che dispone dei permessi per eseguire l'operazione, ad es. "utente01" o "Dominio\utente01" oppure può essere passato un'oggetto PSCredential generato dal cmdlet Get-Credential. Se viene specificato un'account utente verrà richiesto di inserire la password all'esecuzione del comando.

-Unsecure
Esegue una join non protetta al dominio specificato.

-WhatIf
Mostra cosa accadrebbe se venisse eseguito il cmdlet. Il cmdlet non viene eseguito.

-WorkgroupName
Permette di specificare il nome del gruppo di lavoro a cui i computer verranno aggiunti. Il valore di default è "WORKGROUP".



Join del computer al dominio tramite PowerShell

Prima di procedere con la join al dominio bisogna verificare che la workstation riesca a comunicare con il domain controller. Per i passaggi da eseguire per effettuare tale verifica rimando a quanto illustrato all'interno dell'articolo Windows Server 2019: Aggiungere una workstation al dominio (join al dominio).
Sulla workstation:
  • Avviare PowerShell come amministratore. Premere la combinazione di tasti Win+X quindi selezionare Windows PowerShell (amministratore).
  • Digitare ed eseguire il comando
    Add-Computer -DomainName mycompany.local -NewName PCDIR003 -OUPath "ou=Computer,ou=Direzione,dc=mycompany,dc=local" 
    per aggiungere il computer al dominio mycompany.local all'interno dell'unità organizzativa Direzione\Computer con il nome PCDIR003.
  • Quando richiesto, specificare le credenziali di un'account abilitato ad eseguire la join al dominio (ad es. mycompany\administrator).
    Join al dominio tramite l'utilizzo del cmdlet PowerShell Add-Computer
    FIG 1 - Join al dominio tramite l'utilizzo del cmdlet PowerShell Add-Computer
  • Al termine dell'operazione verrà richiesto di riavviare il sistema per rendere effettive le modifiche.
    Riavvio richiesto dopo la join al dominio
    FIG 2 - Riavvio richiesto dopo la join al dominio
Sul Domain Controller:
  • Da Server Manager cliccare sul menu Strumenti e selezionare Utenti e computer di Active Directory.
  • Posizionarsi sull'unità organizzativa Direzione\Computer e verificare che sia presente il computer con nome PCDIR003 aggiunto dal cmdlet Add-Computer.
    Workstation aggiunta al dominio tramite Add-Computer
    FIG 3 - Workstation aggiunta al dominio tramite Add-Computer



Esempi

Di seguito verranno mostrati altri esempi di utilizzo del cmdlet Add-Computer.

Esempio 1
Add-Computer -DomainName mycompany.local -Restart
Aggiunge il computer locale al dominio mycompany.local e lo riavvia per rendere effettive le modifiche.

Esempio 2
Add-Computer -DomainName mycompany.local -Server mycompany.local\Server1DC -PassThru -Verbose
Il comando aggiunge il computer locale al dominio mycompany.local utilizzando il domain controller mycompany.local\Server1DC. I parametri PassThru e Verbose consentono di avere informazioni dettagliate sull'esecuzione del comando.

Esempio 3
Add-Computer -DomainName mycompany.local -OUPath "ou=Computer,ou=Direzione,dc=mycompany,dc=local"
Aggiunge il computer locale al dominio mycompany.local creando l'account all'interno dell'unità organizzativa specificata.

Esempio 4
Add-Computer -ComputerName PCDIR003 -LocalCredential PCDIR003\Utente1 -DomainName mycompany.local -Credential mycompany.local\Administrator -Restart -Force
Il comando aggiunge il computer con nome PCDIR003 al dominio mycompany.local. Tramite il parametro LocalCredential viene specificato un account abilitato a connettersi al computer PCDIR003. Con il parametro -Credential viene specificato l'account del dominio abilitato ad eseguire la join dei computer. Il parametro -Restart riavvia il computer una volta eseguita la Join mentre con il parametro -Force vengono soppresse eventuali richieste di conferma all'utente.
Nel caso in cui il comando restituisca un errore:
Add-Computer : Impossibile stabilire la connessione WMI al computer 'PCDIR003' con il messaggio di errore seguente: Server RPC non disponibile. (Eccezione da HRESULT: 0x800706BA).
Verificare sulla workstation:
- Che il profilo di rete sia Privato e non Pubblico;
Windows 10, Profilo di rete Privato
FIG 4 - Windows 10, Profilo di rete Privato

- Attivare la condivisione file e stampanti per il profilo di rete Privato;
Windows 10, Attivazione condivisione file e stampanti su Profilo di rete Privato
FIG 5 - Windows 10, Attivazione condivisione file e stampanti su Profilo di rete Privato

- Verificare e attivare la Gestione remota di Windows con il comando winrm quickconfig;
Windows 10, Attivazione gestione remota di Windows tramite winrm
FIG 6 - Windows 10, Attivazione gestione remota di Windows tramite winrm

- Nelle regole di connessioni in entrata del firewall abilitare Strumentazione gestione Windows (WMI-In).
Windows 10, Abilitazione regola firewall Strumentazione gestione Windows (WMI-In)
FIG 7 - Windows 10, Abilitazione regola firewall Strumentazione gestione Windows (WMI-In)



Esempio 5
Add-Computer -ComputerName pc01,pc02,pc03 -DomainName mycompany.local -Credential mycompany.local\Administrator -Restart

Il comando aggiunge i computer pc01, pc02 e pc03 al dominio mycompany.local e li riavvia una volta eseguita la join.

Esempio 6
Add-Computer -ComputerName pc01 -DomainName mycompany.local -NewName PCDIR003 -Credential mycompany.local\Administrator -Restart
Il comando aggiunge il computer pc01 al dominio mycompany.local e gli cambia il nome in PCDIR003.

Esempio 7
Add-Computer -ComputerName (Get-Content ElencoComputer.txt) -DomainName mycompany.local -Credential mydomain.local\Administrator -Options Win9xUpgrade  -Restart
Aggiunge i computer elencati nel file ElencoComputer.txt all'interno del dominio mycompany.local. Il parametro -Restart riavvia ciascun computer dopo la join al dominio.