Archive

Articles taggués ‘Taille’

Afficher la taille et l’espace libre des bases de données Exchange

La taille des bases de données Exchange évoluent. Sans une défragmentation offline la taille des celles-ci ne réduiront jamais.
Vous pouvez néanmoins vérifier si vos bases de données possèdent un espace vide issu de la défragmentation online effectuée par défaut toutes les nuits.
Pour afficher la taille des vos bases de données et de l’espace libre, exécutez la commande PowerShell suivante:

Get-MailboxDatabase -Status | ft Name,DatabaseSize,AvailableNewMailboxSpace

Selon les résultats vous pouvez estimer la tailles que feront vos bases de données après une défragmentation offline.
Pour rappel, vous devez posséder 110% de la taille actuelle de la bases de données d’espace disponible.

Réduire la taille de toutes les images d’un dossier.

illex

J’ai trouvé un script très utile permettant de réduire la taille de toutes les images contenu dans un dossier.
Ça marche nickel.

[reflection.assembly]::LoadWithPartialName("System.Drawing")
$toresize = "..\images"
$SizeLimit=1024          # required size of picture's long side
$logfile="resizelog.txt" # log file for errors
 
Get-ChildItem -recurse $toresize -include *.jpg  | foreach {
$parent = $_.Directory.name
$backupdir = ".\backup\" + $parent + "\"
If (-not (Test-Path $backupdir)) { New-Item -ItemType Directory -Name $backupdir }
$backup = $backupdir + "\" + $_.Name
Copy-Item -Path $_.fullname -Destination $backup
 
  $OldBitmap = new-object System.Drawing.Bitmap $_.FullName # open found jpg
  if ($error.count -ne 0) {                                 # error handling
    $error | out-file $logfile -append -encoding default
    $error[($error.count-1)].TargetObject | out-file $logfile -append -encoding default
    echo $_>>$logfile
    $error.clear()
  }
  $LongSide=$OldBitmap.Width                                # locating long side of picture
  if ($OldBitmap.Width -lt $OldBitmap.Height) { $LongSide=$OldBitmap.Height }
  if ($LongSide -gt $SizeLimit) {                           # if long side is greater than our limit, process jpg
    if ($OldBitmap.Width -lt $OldBitmap.Height) {           # calculate dimensions of picture resize to
      $newH=$SizeLimit
      $newW=[int]($OldBitmap.Width*$SizeLimit/$OldBitmap.Height)
    } else {
      $newW=$SizeLimit
      $newH=[int]($OldBitmap.Height*$newW/$OldBitmap.Width)
    }
    $NewBitmap = new-object System.Drawing.Bitmap $newW,$newH # create new bitmap
    $g=[System.Drawing.Graphics]::FromImage($NewBitmap)
    $g.InterpolationMode = [System.Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic # use high quality resize algorythm
    $g.DrawImage($OldBitmap, 0, 0, $newW, $newH)              # resize our picture
 
    $name=$_.DirectoryName+"\"+$_.name+".new"                 # generating name for new picture
    $NewBitmap.Save($name, ([system.drawing.imaging.imageformat]::jpeg)) # save newly created resized jpg
    $NewBitmap.Dispose()                                      # cleaning up our mess
    $OldBitmap.Dispose()
    $n=get-childitem $name
    if ($n.length -ge $_.length) {                            # if resized jpg has greater size than original
      Write-host -NoNewLine "+"                               # draw "+"
      $n.delete()                                             # and delete it
    } else {                                                  # if resized jpg is smaller than original
      if ($n.Exists -and $_.Exists) {
        $name=$_.FullName
        $_.Delete()                                           # delete original
        $n.MoveTo($name)                                      # rename new file to original name (replace old file with new)
        echo ($Name + " " + $LongSide)                        # write its name for visual control
      }
    }
 
  } else {                                                    # if long side is smaller than limit, draw dot for visual
    Write-host -NoNewLine "."
    $OldBitmap.Dispose()
  }
}
Categories: Powershell Tags: ,

Lister les 10 plus grosses boites aux lettres

14/12/2011 Comments off

Voici une commande pour récupérer le top 10 des boites Exchange de votre organistation.

Get-Mailbox -ResultSize unlimited | Get-MailboxStatistics | Sort-Object -Descending -Property TotalItemSize | Select-Object DisplayName,TotalItemSize -First 10

Exporter la taille des boites d’un groupe.

Cette commande exporte la taille des boites aux lettres membre d’un groupe, il indique la base de données où se trouve la boite.

Get-QADGroupMember -Identity "Groupe_Compta" -SizeLimit 0 | foreach { Get-MailboxStatistics
 -Identity $_.dn -ErrorAction silentlycontinue | ft Displayname, Database, @{ expression={$_.TotalIt
emSize.Value.ToMB() } ;label="TotalItemSize (MB)" } } > Compta_group_size.csv

Filtrer les boites dans une fourchette de tailles.

Ce filtre affiche les boites de plus de 650MB et moins de 900MB d’une database et qui n’ont pas le CustomAttribute4 renseigné.

Ce filtre me permet ensuite de lancer un move-mailbox afin d’alléger des databases trop chargées.

Get-Mailbox -Database ccr001\DB_SG_Paris_5 | Where-Object { $_.CustomAttribute4 -ne "mailboxwithblackberry" } | foreach { Get-MailboxStatistics -Identity $_.alias | Where-Object { $_.totalitemsize -gt 650mb -and $_.totalitemsize -lt 900Mb }} | ft displayname, database, @{ expression={$_.TotalItemSize.Value.ToMB() } ;label="TotalItemSize (MB)" }

Lister les boites entre deux tailles.

Liste les boites d’une database faisant une taille entre 700MB et 900MB.

Get-MailboxStatistics -Database Server1\DB2 | Where-Object { $_.totalitemsize -gt 700mb -and $_.totalitemsize -lt 900Mb }
Categories: Exchange 2007 Tags: , ,

Affiche la taille des boites d’une OU.

Permet d’afficher les taille des boites se trouvant dans une OU.

Get-Mailbox -OrganizationalUnit "domain.local/OU_FI00/OU_Compta" | Get-MailboxStatistics | Sort-Object -Property TotalItemSize -Descending | ft displayname, database, @{ expression={$_.TotalItemSize.Value.ToMB() } ;label="TotalItemSize (MB)" }

Liste des grosses boites aux lettres.

Liste toutes les boites aux lettres d’une taille supérieure à 1Go dans les database dont le nom contient une chaine de caratère.

La commande renvoi le Display Name, le nom de la mailbox database et le taille de la boite aux lettres.

Get-MailboxDatabase | Where {$_.identity -match "paris" } | Get-MailboxStatistics | Where {$_.TotalItemSize -gt 1GB} | Sort-Object -Property TotalItemSize -Descending | ft displayname, database, @{ expression={$_.TotalItemSize.Value.ToMB() } ;label=”TotalItemSize (MB)}

Affiche la taille des mailbox dans une database.

Permet de liste par ordre de taille la liste des mailbox dans une database.

Get-MailboxStatistics -Database "Database Name" | Sort-Object -Property TotalItemSize -Descending | ft displayname, database, @{ expression={$_.TotalItemSize.Value.ToMB() } ;label=”TotalItemSize (MB)}| more

Affiche l’espace disque disponible sur un serveur.

Affiche l’espace disque disponible en taille et pourcentage de toutes les partitions sur un serveur.

    Get-WmiObject win32_volume -computer "Server Name" | Sort-Object -Property Name | ft SystemName, Name,
    @{ e={[math]::round($_.FreeSpace/1GB,2) } ;l="FreeSpace (GB)" },
    @{ e={[math]::round(($_.FreeSpace*100)/$_.Capacity) } ;l="PourcentFree" }
Categories: Windows Tags: ,