Sans partage, la connaissance n'est rien !
Fil de navigation
- Détails
- Écrit par Pierre JACQUOT
- Catégorie : One-Liners
- Affichages : 55
Voici une liste de commandes et de scripts en PowerShell utiles afin de pouvoir récupérer et exporter des informations depuis votre serveur de messagerie Exchange.
One-Liners :
Lancer Exchange Management Shell afin de pouvoir exécuter ces commandes.
#OL01 - Exporter la boîte aux lettres d'un utilisateur vers un fichier .pst
Par défaut l’administrateur n’a pas accès à ces fonctions, il faut avant effectuer une opération pour déléguer les droits.
Pour donner les droits, lancer la commande suivante :
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User "DOMAIN\User"
Fermer puis relancer votre console.
New-MailboxExportRequest -Mailbox "MailboxOrMailUserIdParameter" -FilePath "C:\Temp\MailboxOrMailUserIdParameter.pst"
#OL02 - Afficher l’état détaillé d’une demande d’exportation en cours qui a été lancée par la commande New-MailboxExportRequest
Get-MailboxExportRequest
#OL03 - Afficher la taille et l’espace libre des bases de données Exchange (Trié par espace libre)
Colonnes récupérées : Name, DatabaseSize, AvailableNewMailboxSpace
Get-MailboxDatabase -Status | Sort-Object AvailableNewMailboxSpace -Descending | Select-Object Name, DatabaseSize, AvailableNewMailboxSpace
#OL04 - Afficher les informations d'intégrité et d'état sur toutes les banques de données
Colonnes récupérées : Name, Status, CopyQueueLength, ReplayQueueLength, LastInspectedLogTime, ContentIndexState
Get-MailboxDatabaseCopyStatus
#OL05 - Afficher la taille et l'état du quota d'une boîte aux lettres donnée
Colonnes récupérées : DisplayName, StorageLimitStatus, TotalItemSize, TotalDeletedItemSize, ItemCount, DeletedItemCount
Get-MailboxStatistics -Identity "GeneralMailboxOrMailUserIdParameter" | Select-Object DisplayName, StorageLimitStatus, TotalItemSize, TotalDeletedItemSize, ItemCount, DeletedItemCount
#OL06 - Exporter les boîtes aux lettres d'une banque de données (Fichier .csv trié par taille des BALs)
Colonnes récupérées : DisplayName, TotalItemSize, ItemCount
Get-MailboxStatistics -Database "DatabaseIdParameter" | Sort-Object TotalItemSize, ItemCount -Descending | Select-Object DisplayName, TotalItemSize, ItemCount | Export-Csv -Path "C:\Temp\DatabaseIdParameter-Exchange-Users.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL07 - Exporter les boîtes aux lettres de toutes les banques de données (Fichier .csv trié par base et par taille de BALs)
Colonnes récupérées : Database, DisplayName, TotalItemSize, ItemCount
Get-MailboxStatistics -Server "ServerIdParameter" | Sort-Object Database, TotalItemSize -Descending | Select-Object Database, DisplayName, TotalItemSize, ItemCount | Export-Csv -Path "C:\Temp\All-Exchange-Users.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL08 - Exporter les boîtes aux lettres d'une banque de données (Fichier .csv trié par date de création des BALs)
Colonnes récupérées : DisplayName, WhenMailboxCreated
Get-Mailbox -Database "DatabaseIdParameter" | Sort-Object WhenMailboxCreated -Descending | Select-Object DisplayName, WhenMailboxCreated | Export-Csv -Path "C:\Temp\DatabaseIdParameter-Exchange-UsersCreationDate.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL09 - Exporter les boîtes aux lettres de toutes les banques de données (Fichier .csv trié par date de création des BALs)
Colonnes récupérées : DisplayName, WhenMailboxCreated
Get-Mailbox -Server "ServerIdParameter" | Sort-Object WhenMailboxCreated -Descending | Select-Object DisplayName, WhenMailboxCreated | Export-Csv -Path "C:\Temp\Exchange-AllUsersCreationDate.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
- Détails
- Écrit par Pierre JACQUOT
- Catégorie : One-Liners
- Affichages : 61
Voici une liste de commandes et de scripts en PowerCLI utiles afin de pouvoir récupérer et exporter des informations depuis votre infrastructure sous VMware.
One-Liners :
Lancer VMware vSphere PowerCLI afin de pouvoir exécuter ces commandes.
#OL01 - Se connecter au vCenter
Connect-VIServer -Server localhost -Protocol https -User Administrator -Password Password
#OL02 - Exporter les VMs du vCenter dans un fichier .csv
Colonnes récupérées : Name, PowerState, Version, NumCpu, MemoryMB, VMHost, Folder, Description
Get-VM | Select-Object Name, PowerState, Version, NumCpu, MemoryMB, VMHost, Folder, Description | Export-Csv -Path "C:\Temp\VMs.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL03 - Exporter les ESXs du vCenter dans un fichier .csv
Colonnes récupérées : Name, ConnectionState, PowerState, Model, NumCpu, CpuUsageMhz, CpuTotalMhz, MemoryUsageGB, MemoryTotalGB, ProcessorType, Version
Get-VMHost | Select-Object Name, ConnectionState, PowerState, Model, NumCpu, CpuUsageMhz, CpuTotalMhz, MemoryUsageGB, MemoryTotalGB, ProcessorType, Version | Export-Csv -Path "C:\Temp\ESXs.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL04 - Exporter les Datastores du vCenter dans un fichier .csv
Colonnes récupérées : Name, Datacenter, FreeSpaceGB, CapacityGB
Get-Datastore | Select-Object Name, Datacenter, FreeSpaceGB, CapacityGB | Export-Csv -Path "C:\Temp\Datastores.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL05 - Exporter les Snapshots du vCenter dans un fichier .csv
Colonnes récupérées : VM, SizeGB, Created, Name, Description
Get-VM | Get-Snapshot | Select-Object VM, SizeGB, Created, Name, Description | Export-Csv -Path "C:\Temp\Snapshots.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL06 - Mettre à jour les VMware Tools sur une VM sans reboot
Update-Tools -NoReboot -VM "VM_NAME"
- Détails
- Écrit par Pierre JACQUOT
- Catégorie : One-Liners
- Affichages : 72
Voici une liste de commandes et de scripts en PowerShell utiles afin de pouvoir récupérer et exporter des informations depuis votre Active Directory.
One-Liners :
Lancer le Module Active Directory pour Windows PowerShell afin de pouvoir exécuter ces commandes.
#OL01 - Exporter les computers de l'AD dans un fichier .csv
Colonnes récupérées : Name, IPv4Address, OperatingSystem, OperatingSystemServicePack, OperatingSystemVersion, Description
Get-ADComputer -Filter * -Properties * | Select-Object Name, IPv4Address, OperatingSystem, OperatingSystemServicePack, OperatingSystemVersion, Description | Export-Csv -Path "C:\Temp\Computers.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL02 - Exporter les Domain Controllers de l'AD dans un fichier .csv
Colonnes récupérées : Name, IPv4Address, OperatingSystem, OperatingSystemServicePack, OperatingSystemVersion, Description
Get-ADComputer -Filter * -SearchBase "OU=Domain Controllers,DC=adpoc,DC=lan" -Properties * | Select-Object Name, IPv4Address, OperatingSystem, OperatingSystemServicePack, OperatingSystemVersion, Description | Export-Csv -Path "C:\Temp\Domain_Controllers.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL03 - Exporter les users de l'AD dans un fichier .csv
Colonnes récupérées : SamAccountName, GivenName, Surname, Enabled, LastLogonDate, Description
Get-ADUser -Filter * -Properties * | Select-Object SamAccountName, GivenName, Surname, Enabled, LastLogonDate, Description | Export-Csv -Path "C:\Temp\Users.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL04 - Exporter les groupes de l'AD dans un fichier .csv
Colonnes récupérées : Name, GroupScope, GroupCategory, Description
Get-ADGroup -Filter * -Properties * | Select-Object Name, GroupScope, GroupCategory, Description | Export-Csv -Path "C:\Temp\ADGroups.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL05 - Exporter les membres d'un groupe AD dans un fichier .csv
Colonnes récupérées : Name, SamAccountName
Get-ADGroupMember -Identity "GROUP_NAME" | Select-Object Name, SamAccountName | Export-Csv -Path "C:\Temp\Members.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL06 - Exporter les groupes AD d'appartenance à un user, computer, groupe ou un compte de service dans un fichier .csv
Colonnes récupérées : Name, GroupScope
Get-ADPrincipalGroupMembership -Identity "User1" | Select-Object Name, GroupScope | Export-Csv -Path "C:\Temp\Membership.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL07 - Ajouter des users AD (stockés dans un fichier csv) dans un groupe de sécurité
Import-Csv -Path "C:\Temp\Add-Users.csv" -Delimiter ";" | ForEach-Object { Add-ADGroupMember -Identity $_.GroupName -Members $_.SamAccountName }
Exemple du contenu du fichier Add-Users.csv
avec les logins des comptes et les groupes AD :
SamAccountName;GroupName User1;GroupName1 User2;GroupName2 User3;GroupName3
#OL08 - Supprimer des users AD (stockés dans un fichier csv) d'un groupe de sécurité
Import-Csv -Path "C:\Temp\Remove-Users.csv" -Delimiter ";" | ForEach-Object { Remove-ADGroupMember -Identity $_.GroupName -Members $_.SamAccountName -Confirm:$false }
Exemple du contenu du fichier Remove-Users.csv
avec les logins des comptes et les groupes AD :
SamAccountName;GroupName User1;GroupName1 User2;GroupName2 User3;GroupName3
#OL09 - Décocher l'option "never expires" sur des comptes stockés dans un fichier .csv
Import-Csv -Path "C:\Temp\Users.csv" | ForEach-Object { Set-ADUser -Identity $_.SamAccountName -PasswordNeverExpires $false }
Exemple du contenu du fichier Users.csv
avec les logins des comptes AD :
SamAccountName User1 User2 User3
#OL10 - Exporter les groupes vides de l'AD dans un fichier .csv
Colonnes récupérées : Name, GroupScope, GroupCategory, Description
Get-ADGroup -Filter * -Properties * | Where {-not $_.Members} | Select-Object Name, GroupScope, GroupCategory, Description | Export-Csv -Path "C:\Temp\ADGroups-Empty.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL11 - Exporter les users expirés de l'AD dans un fichier .csv
Colonnes récupérées : Name, SamAccountName, ObjectClass, AccountExpirationDate, LastLogonDate
Search-ADAccount -AccountExpired | Select-Object Name, SamAccountName, ObjectClass, AccountExpirationDate, LastLogonDate | Export-Csv -Path "C:\Temp\ExpiredAccounts.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL12 - Exporter les users désactivés de l'AD dans un fichier .csv
Colonnes récupérées : Name, ObjectClass, SamAccountName
Search-ADAccount -AccountDisabled -UsersOnly | Select-Object Name, ObjectClass, SamAccountName | Export-Csv -Path "C:\Temp\DisabledAccounts.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL13 - Exporter les users inactifs depuis 30 jours de l'AD dans un fichier .csv
Colonnes récupérées : Name, ObjectClass, SamAccountName
Search-ADAccount -AccountInactive -UsersOnly -TimeSpan 30.00:00:00 | Select-Object Name, ObjectClass, SamAccountName | Export-Csv -Path "C:\Temp\InactiveAccounts.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL14 - Exporter les users de l'AD qui ont un mot de passe qui n'expire jamais dans un fichier .csv
Colonnes récupérées : Name, ObjectClass, SamAccountName
Search-ADAccount -PasswordNeverExpires | Select-Object Name, ObjectClass, SamAccountName | Export-Csv -Path "C:\Temp\PasswordNeverExpiresAccounts.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
#OL15 - Créer des comptes (stockés dans un fichier csv) sur l'AD
Import-Csv -Path "C:\Temp\Add-Accounts.csv" -Delimiter ";" | ForEach-Object { New-ADUser $_.SamAccountName -GivenName $_.SamAccountName -displayName $_.SamAccountName -Description $_.AccountDescription -UserPrincipalName $_.SamAccountName -AccountPassword (ConvertTo-SecureString $_.AccountPassword -AsPlainText -Force) -CannotChangePassword $true -ChangePasswordAtLogon $false -PasswordNeverExpires $true -Enabled $true -Path $_.AccountOU -OtherAttributes @{businessCategory=$_.AccountBusinessCategory} }
Exemple du contenu du fichier Add-Accounts.csv
avec les informations des comptes AD :
SamAccountName;AccountPassword;AccountDescription;AccountBusinessCategory;AccountOU svct_App01;Pa$$w0rD;Service account TEST;TEST;"OU=Service Accounts,DC=lab,DC=microsoft,DC=com" svcr_App01;Pa$$w0rD;Service account REC;REC;"OU=Service Accounts,DC=lab,DC=microsoft,DC=com" svcp_App01;Pa$$w0rD;Service account PROD;PROD;"OU=Service Accounts,DC=lab,DC=microsoft,DC=com"
#OL16 - Désactiver des comptes (stockés dans un fichier csv) sur l'AD
Import-Csv -Path "C:\Temp\Disable-Accounts.csv" | ForEach-Object { Disable-ADAccount -Identity $_.SamAccountName }
Exemple du contenu du fichier Disable-Accounts.csv
avec les logins des comptes AD :
SamAccountName User1 User2 User3
#OL17 - Réactiver des comptes (stockés dans un fichier csv) sur l'AD
Import-Csv -Path "C:\Temp\Enable-Accounts.csv" | ForEach-Object { Enable-ADAccount -Identity $_.SamAccountName }
Exemple du contenu du fichier Enable-Accounts.csv
avec les logins des comptes AD :
SamAccountName User1 User2 User3
#OL18 - Créer des groupes (stockés dans un fichier csv) sur l'AD
Import-Csv -Path "C:\Temp\Add-Groups.csv" -Delimiter ";" | ForEach-Object { New-ADGroup -Name $_.GroupName -GroupScope $_.GroupScope -Description $_.GroupDescription -Path $_.GroupOU }
Exemple du contenu du fichier Add-Groups.csv
avec les informations des groupes AD :
GroupName;GroupScope;GroupDescription;GroupOU GroupName1;DomainLocal;GroupDescription1;"OU=Groupes,DC=lab,DC=microsoft,DC=com" GroupName2;Global;GroupDescription2;"OU=Groupes,DC=lab,DC=microsoft,DC=com" GroupName3;Universal;GroupDescription3;"OU=Groupes,DC=lab,DC=microsoft,DC=com"