Archive

Articles taggués ‘Taille’

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()
  }
}


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

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


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

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


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

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)" }


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

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 }


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

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)" }


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

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)}


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

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


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

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" }


Cet article vous a aidé ou intéressé? Alors partagez-le en cliquant sur les boutons ci-dessous :

Categories: Windows Tags: ,