Visualizzazione post con etichetta Windows Server. Mostra tutti i post
Visualizzazione post con etichetta Windows Server. Mostra tutti i post

martedì 27 settembre 2022

PowerShell: Modificare la data di scadenza di una password in Active Directory

Un metodo per prolungare  il periodo di tempo in cui un utente può mantenere la propria password consiste nell'impostare l'attributo pwdLastSet sulla data corrente. 
Di seguito i comandi che permettono di prolungare la scadenza della password su un account specificato: 

 $Username = (Read-Host -Prompt "Username")   
 Set-ADUser -Identity $Username -Replace @{pwdLastSet=-1}  


Attributo pwdLastSet in Active Directory
FIG 1 - Attributo pwdLastSet in Active Directory





domenica 11 settembre 2022

PowerShell: Modificare la password di un account di Active Directory

Il cmdlet Set-ADAccountPassword consente di impostare la password di un account utente in Active Directory, di un computer o di un account di servizio.

Sintassi

Set-ADAccountPassword
   [-WhatIf]
   [-Confirm]
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   [-Identity] <ADAccount>
   [-NewPassword <SecureString>]
   [-OldPassword <SecureString>]
   [-Partition <String>]
   [-PassThru]
   [-Reset]
   [-Server <String>]
   [<CommonParameters>]
   
   

Parametri

-AuthType
Specifica il metodo di autenticazione. I valori accettati dal parametro sono:
  • Negotiate oppure 0 (default)
  • Basic oppure 1
Per il metodo di autenticazione Basic è necessaria una connessione Secure Sockets Layer (SSL).  

-Confirm
Chiede conferma prima di eseguire il cmdlet.

-Credential
Specifica le credenziali dell'account utente da utilizzare per eseguire questa attività. Le credenziali predefinite sono quelle dell'utente attualmente connesso, a meno che il cmdlet non venga eseguito da un'unità provider di Active Directory module for Windows PowerShell. Se il cmdlet viene eseguito da tale unità provider, l'account associato all'unità è quello predefinito.

Per specificare questo parametro, è possibile digitare un nome utente, ad esempio User1 o Domain01\User01, oppure specificare un oggetto PSCredential. Se si specifica un nome utente per questo parametro, il cmdlet richiederà una password.

È anche possibile creare un oggetto PSCredential utilizzando uno script o il cmdlet Get-Credential. È quindi possibile impostare il parametro Credential sull'oggetto PSCredential.

Se le credenziali che agiscono non hanno l'autorizzazione a livello di directory per eseguire l'attività, il modulo Active Directory per Windows PowerShell restituirà un errore di terminazione.

-Identity
Specifica un oggetto di dominio Active Directory fornendo uno dei seguenti valori 
  • Distinguished name
  • GUID (objectGUID)
  • Security identifier (objectSid)
  • Security Account Manager account name (SAMAccountName

-NewPassword
Specifica il valore di una nuova password. Questo valore viene memorizzato come stringa crittografata.

-OldPassword
Specifica il valore della vecchia password. Questo valore viene elaborato come stringa crittografata.

-Partition
Specifica il distinguished name di una partizione di Active Directory. Il distinguished name deve essere uno dei contesti di denominazione del server di directory corrente. Il cmdlet cerca in questa partizione l'oggetto definito dal parametro Identity.

In molti casi, se non viene specificato alcun valore, viene utilizzato un valore predefinito per il parametro Partition. Le regole per determinare il valore predefinito sono riportate di seguito. Si noti che le regole elencate per prime vengono valutate per prime e che, una volta determinato un valore predefinito, non vengono valutate altre regole.

Negli ambienti Active Directory Domain Services, un valore predefinito per Partition viene impostato nei seguenti casi:
  • Se il parametro Identity è impostato su un distinguished name, il valore predefinito di Partition viene generato automaticamente da questo distinguished name.
  • Se si eseguono i cmdlet da un'unità del provider di Active Directory, il valore predefinito di Partition viene generato automaticamente dal percorso corrente dell'unità.
  • Se non si applica nessuno dei casi precedenti, il valore predefinito di Partition viene impostato sulla partizione o sul contesto di denominazione predefinito del dominio di destinazione.

Negli ambienti AD LDS, il valore predefinito di Partition viene impostato nei seguenti casi:
  • Se il parametro Identity è impostato su un distinguished name, il valore predefinito di viene generato automaticamente da questo distinguished name.
  • Se si eseguono i cmdlet da un'unità del provider di Active Directory, il valore predefinito di Partition viene generato automaticamente dal percorso corrente dell'unità.
  • Se l'istanza AD LDS di destinazione ha un contesto di denominazione predefinito, il valore predefinito di Partition è impostato sul contesto di denominazione predefinito. Per specificare un contesto di denominazione predefinito per un ambiente AD LDS, impostare la proprietà msDS-defaultNamingContext dell'oggetto agente del servizio di directory di Active Directory (nTDSDSA) per l'istanza AD LDS.
  • Se non si applica nessuno dei casi precedenti, il parametro Partition assumerà alcun valore predefinito.
-PassThru
Restituisce un oggetto che rappresenta l'elemento con cui si sta lavorando. Per impostazione predefinita, non viene generato alcun output.

-Reset
Specifica la reimpostazione della password di un account. Quando si utilizza questo parametro, è necessario impostare il parametro NewPassword. Non è necessario specificare il parametro OldPassword.

-Server
Specifica l'istanza di Active Directory Domain Services a cui connettersi:
  • Fully qualified domain name
  • NetBIOS name
  • Fully qualified directory server name
  • NetBIOS name
  • Fully qualified directory server name e la porta
-WhatIf
Mostra cosa accadrebbe se il cmdlet venisse eseguito. Il cmdlet non viene eseguito.

Esempi

Esempio 1
Set-ADAccountPassword -Identity Giovanni.Lubrano
Viene richiesta la vecchia password e la nuova password da impostare per l'account specificato.
Set-ADAccountPassword
FIG 1 - Set-ADAccountPassword

Esempio 2
Set-ADAccountPassword -Identity "CN=Giovanni Lubrano Lavadera,OU=Utenti,OU=Direzione,DC=mycompany,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "p@assw0rd1234" -Force)
Questo comando imposta la password dell'account utente con DistinguishedName "CN=Giovanni Lubrano Lavadera,OU=Utenti,OU=Direzione,DC=mycompany,DC=local"

Esempio 3
Set-ADAccountPassword -Identity Giovanni.Lubrano -OldPassword (ConvertTo-SecureString -AsPlainText "p@assw0rd1234" -Force) -NewPassword (ConvertTo-SecureString -AsPlainText "qwerty@01234" -Force)
Questo comando imposta la password dell'account utente con SamAccountName GLubrano su qwerty@01234. L'uso di -NewPassword con un valore, senza fornire il valore del parametro -OldPassword, reimposta ugualmente la password.

Esempio 4
Set-ADAccountPassword -Identity Giovanni.Lubrano -NewPassword (ConvertTo-SecureString -AsPlainText "qwerty@01234" -Force) -Reset
Analogo all'esempio 3 con la differenza che in questo caso viene specificata solo la nuova password e viene utilizzato il parametro -Reset.
Set-ADAccountPassword -NewPassword
FIG 2 - Set-ADAccountPassword -NewPassword

Esempio 5
$User = (Read-Host -Prompt "Username")
$NewPassword = (Read-Host -Prompt "Nuova password" -AsSecureString
Set-ADAccountPassword -Identity $User -NewPassword $NewPassword -Reset
Viene richiesto di specificare l'account utente su cui agire e la nuova password da assegnare all'account.




martedì 9 agosto 2022

PowerShell: Ottenere un elenco di tutti gli utenti di una specifica UO

Per visualizzare l'elenco di tutti gli utenti appartenenti ad una specifica unità organizzativa è possibile utilizzare un comando PowerShell simile al seguente
Get-ADUser -Filter * -SearchBase 'ou=utenti, ou=Direzione,dc=mycompany, dc=local'
Con questo comando andiamo a visualizzare tutti gli utenti presenti nell'unità organizzativa mycompany.local/Direzione/Utenti.
Elenco utenti appartenenti all'unità organizzativa
FIG 1 - Elenco utenti appartenenti all'unità organizzativa

Possiamo creare un semplice script che esporta l'elenco degli utenti, presenti nell'unità organizzativa specificata, all'interno di un file CSV
 $OUpath = 'ou=utenti, ou=Direzione,dc=mycompany, dc=local'  
 $ExportPath = 'c:\Temp\users_in_ou.csv'  
 Get-ADUser -Filter * -SearchBase $OUpath | Select-object DistinguishedName,Name,UserPrincipalName | Export-Csv -NoType $ExportPath  



lunedì 20 gennaio 2020

Windows Server 2019: Modificare il nome del server da riga di comando con netdom

Nell'articolo Windows Server 2019: Impostazione IP statico e nome Server è stato mostrato come modificare il nome del server tramite GUI. Lo stesso risultato può essere ottenuto agendo tramite il prompt dei comandi e utilizzando il comando netdom:
  • All'interno del menu Start digitare cmd. Cliccare con il tasto destro su Prompt dei comandi e selezionare Esegui come amministratore.
    Windows Server 2019, Prompt dei comandi (Amministratore)
    FIG 1 - Windows Server 2019, Prompt dei comandi (Amministratore)
  • Dal Prompt dei comandi, per visualizzare il nome corrente attribuito al server eseguire il comando
    HOSTNAME
  • Per modificare il nome del server è possibile utilizzare il comando netdom. La sintassi del comando è la seguente
    netdom /renamecomputer <nome computer attuale> /newname:<nome computer desiderato>
    ad es
    netdom /renamecomputer Server1DC /newname:ServerUfficio
    Un messaggio avvisa l'utente che alcuni servizi, come Autorità di certificazione, si basano sul nome del computer e la modifica di quest'ultimo può comportare il mancato funzionamento del servizio. Se siamo consapevoli di ciò che stiamo facendo proseguiamo rispondendo S al messaggio di conferma.
    Windows Server 2019, Modifica nome server tramite netdom
    FIG 2 - Windows Server 2019, Modifica nome server tramite netdom
  • L'operazione viene portata a termine in pochi secondi ma è necessario riavviare il sistema per renderla effettiva. Una volta riavviato il sistema ed eseguito il logon noteremo il nuovo nome mostrato all'interno della finestra Server Manager.
    Windows Server 2019, Server Manager nuovo nome server
    FIG 3 - Windows Server 2019, Server Manager nuovo nome server




venerdì 20 giugno 2014

Windows Server Quick Tip: Resettare il server WSUS


Chi lavora nel campo IT sa che in alcuni casi, per risolvere un problema, l'unica soluzione è quella di riavviare il servizio, il processo o il sistema operativo. Windows Server Update Services (WSUS), utilizzato dagli amministratori IT per distribuire gli aggiornamenti dei prodotti Microsoft sui computer degli utenti finali, non sfugge a tale regola. A volte potrebbe essere necessario effettuare un reset completo di WSUS. Il reset fa in modo che il server WSUS risincronizzi con i servizi di Microsoft. Tale processo, come è possibile immaginare, può richiedere molto tempo poiché ogni aggiornamento che risiede sul server WSUS deve essere risincronizzato. Durante la risincronizzazione viene interrotta la distribuzione degli aggiornamenti da parte del server WSUS finché questo non disporrà di tutti i pacchetti da distribuire alle postazioni degli utenti finali.

Per eseguire il reset di WSUS è possibile eseguire il seguente comando come amministratore:
%SystemDrive%\Program Files\Update Services\Tools\WsusUtil.exe reset