Archive

Articles taggués ‘Export’

Exporter la liste des fichiers d’un lecteur par extension.

Dans l’idée de faire un peu de ménage sur un lecteur, je cherche à identifier les fichiers multimédia avec le chemin et la taille.
Ce script va créer un fichier texte pour chaque extension.

?View Code POWERSHELL
Get-ChildItem -Recurse -Path "E:\" -Include *.mp3,*.mp4,*.avi -ErrorAction silentlycontinue | ForEach {
Write-Progress -activity "Fichiers Multimédia" -Status $_.FullName
$extension = $_.name.split(".")[-1]
$size ={0:N2}-f ($_.Length/1mb)
$logfile = ".\logs\" + $extension + ".txt"
$present = Test-Path -Path $logfile
    if ( $present -ne "true") {
    Write-host "Création de $logfile"
    $resfile = New-Item -ItemType file -Path $logfile -Force
    Add-Content -Path $logfile -Value "Nom;Chemin;Taille"
    Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
    }
    Else {
    Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
    }
}

Exporter la liste des gros fichiers présents sur un lecteur.

Voici un script pour exporter dans un fichier texte la liste des fichiers de plus de 100Mo présents sur un lecteur.

?View Code POWERSHELL
Get-ChildItem -Recurse -Path "E:\" -ErrorAction silentlycontinue | Where-Object { $_.length -gt 100000000 } | ForEach {
Write-Progress -activity "Fischiers de plus de 100Mo" -Status $_.FullName
$size ={0:N2}-f ($_.Length/1mb)
$logfile = ".\logs\Gros_fichiers.txt"
	$present = Test-Path -Path $logfile
	if ( $present -ne "true") {
Write-host "Création de $logfile"
$resfile = New-Item -ItemType file -Path $logfile -Force
Add-Content -Path $logfile -Value "Nom;Chemin;Taille"
Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
}
Else {
Add-Content -Path $logfile -Value "$($_.name );$($_.DirectoryName);$($size)"
}
}
Categories: Windows Tags: , ,

Regarder vos fichier grossir

Lors d’un exportation d’informations, il est parfois intéressant de visualiser la progression du fichier.
Utile également pour contrôler en temps réel un fichier de log d’un traitement long.
Un petit outil portable permet de le faire.
Tail for Win32 est très simple et léger à utiliser.

Télécharger
Télécharger la version portable.

Categories: Divers Tags: , ,

Exporter les comptes d’ordinateurs

Voici une ligne de commande utile pour exporter la liste des comptes d’ordinateurs d’une OU en vu de faire un peu de ménage.

?View Code POWERSHELL
Get-QADComputer -IncludeAllProperties -SearchRoot domain.local\Paris -Sizelimit 0 | Select-Object cn,OSName,OSServicePack,pwdlastset,ParentContainer | Export-Csv -Path Paris_Computers_List.csv

Exporter la langue des systèmes

Ce script permet d’exporter dans un fichier la liste des ordinateurs et serveurs d’une OU avec le login de l’utilisateur connecté et la langue du système d’exploitation.
Cela ne fonctionne que pour les ordinateurs et serveurs en ligne.

?View Code POWERSHELL
$fileres = ".\Export\FI00_Paris_Comp_Lang.csv"
$expfile = New-Item -ItemType file -Path $fileres -Force
Add-Content -Path $fileres -Value "Computer,LoggedUser,Language"
 
 
Get-QADComputer -SearchRoot "domain.local/FI00_Paris"| ForEach-Object {
 
if ( Test-Connection $_.name -count 1 -quiet)  {
$computer = $_.name
$lang = (Get-WmiObject Win32_OperatingSystem -ComputerName $computer -ErrorAction continue ).oslanguage
$switch = switch ($lang) `
{
1033 {"English"};
1036 {"French"};
default {"Unknown"}
}
$loginfo = Get-WmiObject -Computer $Computer -Class Win32_ComputerSystem
 
$present = Select-String -Path $fileres -Pattern $computer
 
Add-Content -Path $fileres -Value "$($computer),$($loginfo.UserName),$($switch)"
 
}
}

Exporter les statistiques de Enterprise Vault

Enterprise Vault
Voici comment j’exporte les statistiques d’archivage dans Symantec Enterprise Vault.

?View Code POWERSHELL
$Server = "server30"
$Database = "EVaultStoreArchive1"
$AttachmentPath = ".Export_EVEV_1_Stats.csv"
$SqlQuery = "SELECT [ArchiveName], ArchivedItems, CAST(ArchivedItemsSize AS decimal(20, 0)) AS ArchivedItemsSize From view_ListVaults INNER JOIN [EnterpriseVaultDirectory].[dbo].[ArchiveView] ON view_ListVaults.ArchivePointId = [EnterpriseVaultDirectory].[dbo].[ArchiveView].[VaultEntryId]"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;Integrated Security = True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$nRecs = $SqlAdapter.Fill($DataSet)
$nRecs | Out-Null
$objTable = $DataSet.Tables[0]
$objTable | Export-CSV $AttachmentPath
Write-Host "Export terminé."
$resfile = New-Item -ItemType file -Path ".Export_EVEV_1_Stats_Result.csv" -Force
Add-Content -Path $resfile -Value "FirstOU,Name,ArchivedItems,ArchivedItemsSize,VaultCache,OrganizationalUnit"
$evnom = "CN=EV_NOMADES,CN=Users,DC=domain,DC=local"
$InputFile = import-csv -Path $AttachmentPath
foreach ($Mailbox in $InputFile)
{
$user = Get-QADUser -Identity $Mailbox.ArchiveName
$user.Name
if ($user.NestedMemberOf -contains $evnom )
{$vaultchache = "True"}
Else
{$vaultchache = $null}
$FirstOU = $User.ParentContainer -split("/")
$FirstOU = $FirstOU[1]
Add-Content -Path $resfile -Value "$($FirstOU),$($Mailbox.ArchiveName),$($Mailbox.ArchivedItems),$($Mailbox.ArchivedItemsSize),$($vaultchache),$($user.ParentContainer)"

Exporter une boite aux lettres en PST.

Ce Script automatise l’exportation d’une boite aux lettres dans un fichier PST.

Pour rappel, il y a des pré-requis pour faire des exportations de boites aux lettres.
1- OS 32bits (XP ou Windows Server) (Pas testé sur Seven)
2- Client Outlook. (Outlook 2003 SP2 Minimum)
3- Exchange 2007 Management Tools

?View Code POWERSHELL
$mbal = Read-Host "Please enter the mailbox"
$musr = [Environment]::UserName
 
 
Add-MailboxPermission -Identity $mbal -AccessRights FullAccess -InheritanceType All -User $musr
$pst = "I:\PSTDATA\" + $mbal +".pst"
 
Export-Mailbox -Identity $mbal -PSTFolderPath $pst -Confirm:$false
 
 
Remove-MailboxPermission -Identity $mbal -AccessRights FullAccess -InheritanceType All -User $musr -Confirm:$false

Lister les boites où a accès un utilisateur.

Exporter toutes les boites aux lettres où a accès un utilisateur.

?View Code POWERSHELL
Get-Mailbox -Server CCR002 -Resultsize Unlimited | where-object { $_.database -match "SCO" } | Get-MailboxPermission | Where-Object { $_.AccessRights -eq "FullAccess" -and $_.IsInherited -match "false" -and $_.user -match "bluteau" } | Select-Object Identity,User| Export-Csv -Path rightsonmb.csv

Ensuite supprimer ces délégations.

?View Code POWERSHELL
Import-Csv -Path .\rightsonmb.csv | foreach { Remove-MailboxPermission -Identity $_.identity -AccessRights FullAccess -User $_.user }

Exporter la liste des délégations.

Cette commande permet d’exporter la liste des délégations en place sur plusieurs Databases d’un serveur.

?View Code POWERSHELL
Get-Mailbox -Server CCR001 -Resultsize Unlimited | where-object { $_.database -match "DB_Paris" } | Get-MailboxPermission | Where-Object { $_.AccessRights -eq "FullAccess" -and $_.IsInherited -match "false"} | Select-Object Identity,User| Export-Csv -Path rightsonparismb.csv
Categories: Exchange 2007 Tags: , ,

Export des utilisateurs Blackberry

Exporter la liste des utilisateurs Blackberry avec Powershell.
Le principe est d’effectuer un query sur la base SQL du BES avec Powershell.

?View Code POWERSHELL
$SqlServer = "SRV00026"
$SqlCatalog = "BESMgmt"
$SqlQuery = "select userconfig.DisplayName,userconfig.MailboxSMTPAddr FROM UserConfig"
 
 
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SqlServer; Database = $SqlCatalog; Integrated Security = True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
Categories: Blackberry Tags: , ,