In Server Manager fai clic su Gestisci>Aggiungi ruoli e funzionalità.



A default tutti gli utenti di dominio hanno la capacità di aggiungere una workstation al dominio.
Il limite a questa attività è che un qualsiasi utente può aggiungere un massimo di 10 workstation al dominio.
Quando l’utente raggiunge il numero massimo di computer inseriti a dominio , riceve questo messaggio di errore
Per saper chi ha aggiunto una workstation ad active directory è suffico9enbte lanciare quiesto script ppowershell creato sulla base di questo articolo :
Using PowerShell to Discover Who Added a Client to Your Domain
Clear-Host
Write-Host "I'm writing ms-DS-MachineAccountQuota"
# List the current value of ms-DS-MachineAccountQuota
Get-ADDomain |
Select-Object -ExpandProperty DistinguishedName |
Get-ADObject -Properties 'ms-DS-MachineAccountQuota' |
Select-Object -ExpandProperty ms-DS-MachineAccountQuota
Write-Host "Number clients in this environment"
Get-ADComputer -Filter * | Measure-Object | Select-Object -ExpandProperty Count
Write-Host "Number users in this environment"
Get-ADUser -Filter * | Measure-Object | Select-Object -ExpandProperty Count
Write-Host ""
Write-Host "Who did this?"
$Clients = Get-ADComputer -Properties ms-ds-CreatorSid, WhenCreated -Filter {ms-ds-creatorsid -ne "$Null"}
$Users = Get-ADUser -Filter *
ForEach ($C in $Clients)
{
ForEach ($U in $Users)
{
If ($U.Sid -eq $C.'ms-ds-creatorsid')
{
$C | Select-Object -Property @{
Name = 'ComputerName'; Expression = {$C.Name}},
@{Name = 'WhenCreated'; Expression = {$C.WhenCreated.DateTime}},
@{Name = "UserName"; Expression = {$U.Name}
}
}
}
}
E’ possibile modificare questo numero aumentandolo oppure portandolo a 0. Se si porta a 0, gli utenti dovranno avere particolari permessi per poter inserire un computer a dominio.
Per farlo, dal domain controller, lanciare il comando adsiedit.msc.
A sinistra posizionatevi sul nodo principale che comincia con “DC=…”. Tasto destro del mouse -> Proprietà . La chiave con il numero da modificare è MS-DS-MachineAccountQuota.
E’ possibile limitare ad un gruppo di utenti la capacità di aggiungere workstation al dominio , agendo direttamente sulle GPO
Computer Configuration → Windows Settings → Security Settings → Local Policies → User Rights Assignment
Cercare la voce “Add workstations to the domain” e modificatela per specificare solo gli utenti e gruppi che possono eseguire l’operazione di aggiunta.
Open PowerShell and run the command
$ExportPath = 'c:\temp\passwordexpiration.csv’
Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} | Export-Csv -NoType $ExportPath

In un ambiente windows server active directory nultiserver, può essere necessario spostare il ruoli da un server ad un altro.
Per scoprire quale server ha i ruoli di Active directory digitare il comando :
NETDOM QUERY FSMO
Aprire un prompt di Dos e digitare :
ntdsutil
poi
roles
poi
connections
poi
Connect to server ServerFQDN
Dove il server è il server a cui volete passare i ruoli
quit
A seconda dei ruoli che si vuole passare , digitare i seguenti comandi :
| Ruolo | Credenziali | Comando |
|---|---|---|
| Master per la denominazione dei domini | Amministratori Enterprise | Seize naming master |
| Master schema | Amministratori schema | Seize schema master |
| master dell’infrastruttura | Domain Admins | Seize infrastructure master |
| Master per l’emulatore PDC | Domain Admins | Seize pdc |
| master RID | Domain Admins | Seize rid master |

gpupate /force
REG QUERY "HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate"
Gpresult /r
Add file staus option. In wsus , in update window, right click on grid header and select “File Status”. The green icon means that the update is ready for installation.
Open Powershall with admin privileges and digit :
Get-WindowsUpdateLog
This command will build a wsus client log on desktop.
Le cassette postali condivise consentono a un gruppo di persone di monitorare e inviare posta elettronica da un indirizzo di posta elettronica comune, come info@mecdata.it. Quando un utente del gruppo risponde a un messaggio inviato alla cassetta postale condivisa, il messaggio di risposta sembrerà inviato dalla cassetta postale condivisa, non dal singolo utente.
Le cassette postali condivise vengono usate quando più persone devono accedere alla stessa cassetta postale, ad esempio un’informazione aziendale o un indirizzo di posta elettronica di supporto, una reception o un’altra funzione che potrebbe essere condivisa da più persone.
Le cassette postali condivise includono un calendario condiviso ed una rubrica condivisa.
Licenze: La cassetta postale condivisa può archiviare fino a 50 GB di dati senza assegnare una licenza. Per volumi più elevati, è necessario assegnare una licenza alla cassetta postale
Utenti esterni: Non è possibile concedere agli utenti esterni all’azienda (ad esempio, utenti con un account Gmail) l’accesso alla cassetta postale condivisa
Conversione delle cassette postali: È possibile convertire le cassette postali utente in cassette postali condivise.
Troppi utenti: Quando sono presenti troppi utenti designati che accedono contemporaneamente a una cassetta postale condivisa (è consigliabile non più di 25), è possibile che non riescano a connettersi a questa cassetta postale o abbiano incoerenze come i messaggi duplicati nella posta in uscita
When you connect to ftp server create with Microsoft IIS using Filezilla Client you should have this error
GnuTLS error -48: Key usage violation in certificate has been detected. Could not connect to server
Your configuration settings are something like this :
The problem is with self signed certificate on server side. This is a problem with the certificate generation of Microsoft IIS, as it does not allow the certificates to be used for digital signatures.
This is a server-side issue, and it did not appear previously because earlier versions of FileZilla shipped with a GnuTLS version that didn’t make this check.
Quoting Tim Kosse’s post in the FileZilla forum thread:
In any case, the problem is with your server’s X.509 certificate chain: Either the server certificate itself or another certificate in the chain has a key usage restriction that is violated. For example a certificate with a key usage restriction to signing cannot be used to authenticate TLS connections. See section 4.2.1.3 of RFC 5280.
This is a problem with the certificate generation of Microsoft IIS (but may also happen if you incorrectly generated a certificate with another method), as it does not allow the certificates to be used for digital signatures. OpenSSL is much more relaxed about this and won’t fail because of it, so it may work with other apps.
On the client side, you can either disable TLS, downgrade to an earlier version of FileZilla (neither of these is recommended due to potential security risks), or use a different client which uses another library such as OpenSSL for now.
This needs to be done on the server side, Yobviously.you can generate the certificate with PowerShell instead until the issue is fixed by Microsoft. Open PowerShell in admin mode.
The following powershell command will create our self-signed certificate for our binding and store it in the Personal Store (Note how I also store a reference to the certificate in a variable called $cert this will be needed further on):
$binding = "192.168.1.70" $cert = New-SelfSignedCertificate -DnsName "$binding" -CertStoreLocation "cert:\LocalMachine\My"
However, this is not enough to make the certificate work for HTTPS in our browser. We need to add our newly created certificate to the Trusted Root Certificate store. To do this we take our $cert variable which references our created certificate and add it to our Trusted Root Certificate store like so:
$DestStore = new-object System.Security.Cryptography.X509Certificates.X509Store([System.Security.Cryptography.X509Certificates.StoreName]::Root,"localmachine") $DestStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite) $DestStore.Add($cert) $DestStore.Close()
Now you have to set the new certicate on your ftp site using IIS Admin.

Di seguito i passi necessari in sequenza per migrare un dominio IMAP su Exchange Online.
esempio di csv
EmailAddress,UserName,Password terrya@contoso.edu,contoso\terry.adams,1091990 annb@contoso.edu,contoso\ann.beebe,2111991 paulc@contoso.edu,contoso\paul.cannon,3281986
Si possono mettere tutti gli utenti in una migrazione. Quando una migrazione termina con errori, si può eliminare un utente dalla stessa ed inserire lo stesso utente in un altra migrazione. Si possono avere più migrazioni contemporaneamente ma non può esistere lo stesso utente in più di una migrazione. La migrazione può esistere per un massimo di 60 giorni.
In realtà Microsoft fa una operazione più sofisticata di una “banale” migrazione : fa una sincronizzazione. Sincronizza l’intera cassetta postale imap sulla cassetta Exchange in una direzione (da imap ad exchange). E’ sofisticato ma meno efficace di una normale migrazione : la sincronizzazione non è in tempo reale ma dopo 24/30 ore. Quindi volendo sostituire il mail server gli utenti perderebbero almeno 24 ore di email.
Sui client Outlook potete aggiungere il nuovo account di Exchange online. Sarà uguale alla cassetta postale precedente, ma sarà gestita da Exchange. Per un certo periodo avrete quindi 2 cassette postali che gestiscono la stessa posta ma su server diversi: uno è il vecchio server imap , l’altro il nuovo server Exchange. Quando la migrazione sarà terminata e avrete spostato anche i record mx sul dns, potete cancellare la vecchia cassetta postale. Prima di farlo però dovete spostare anche i contatti ed il calendario dalla “vecchia” alla “nuova” :
Contatti : selezionate tutti i contatti, tasto destro, selezionate “sposta” e quindi “copia nella cartella…”, contatti della cassetta di Exchange.
Calendario : Per spostare gli appuntamenti tra i 2 calendari : visualizzate entrambi i calendari e trascinate gli appuntamenti dal vecchio al nuovo.
Se avete problemi di sincronizzazione potete indagare usando PowerShell. Prima di tutto installare ExchangeOnlineManagement.
Connettersi al tenant :
Connect-ExchangeOnline -UserPrincipalName <your Admin Username>
Compare la schermata di richiesta password.
Lista di tutti gli endpoint nel tenant
get-migrationendpoint|FL
Test dell’endpoint
Test-MigrationServerAvailability -Endpoint <Identity of the endpoint from above>
Vedere le impostazioni della migrazione di un utente
Get-SyncRequest -Mailbox <user>
Esportare il dettaglio di una migrazione :
Get-MigrationUserStatistics <user> -IncludeSkippedItems -IncludeReport -DiagnosticInfo "showtimeslots, showtimeline, verbose" | Export-Clixml C:\temp\MigMyUser.xml
Le cassette postali Exchange hanno un limite di 35MB. Se durante la migrazione dovete spostare qualcosa di più grande dovete cambiare questo limite.
Set-Mailbox -Identity <user> -MaxReceiveSize 150MB
Documentazione :

Through Powershell it is possible to connect to a Microsoft 365 tenant to perform operations on users, groups and any other element of the tenant. When you use this tool, Powershell presents you with the mask for entering your account and password. You can write accounts and passwords directly in the Powershell script but it would be a serious security compromise.
An alternative is to build a software that connects directly to the Tenant through customized keys present in the Tenant itself. In other words, it is necessary to communicate to the Tenant that there is a certain application that is authorized to access the Tenant. Furthermore, for each operation that you want to perform on the Tenant it is necessary to specify the appropriate permissions. To create these applications, we recommend that you follow the excellent tutorial “.Net Core console application for calling Microsoft Graph“. This post proposes the images present in the previous tutorial only to specify how the application must be prepared on the Microsoft Tenant.
Open a browser and navigate to the Azure Portal. Login using your account. Select the resource “Azure Active Directory”. On the left side menu, select “App regitstration”. Click New registration from the current page.
On the Register an application page, specify the following values:
(*) The Redirect URI value must be unique within your domain. This value can be changed at a later time and does not need to point to a realy hosted URI.

It is now necessary to store 2 values that will be used in your application:
Click Certificates & secrets.

After the screen has updated with the newly created client secret copy the VALUE of the client secret. This secret string is never shown again, so make sure you copy it now.
Click API permissions.

Now you have to choose between the permissions to authorize your app. For example, to create an application to read alla information about Tenant’s users, in the “Select permissions” search box type “User”.Select User.Read.All from the filtered list. At the end, on the API permissions content blade, click Grant admin consent for the Tenant.
Let’s see what data your application needs to connect and operate on the Microsoft Tenant.
Documentation