IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Remote powershell Exchange


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 1
    Par défaut Remote powershell Exchange
    Bonjour à tous,

    Je suis totalement débutante en powershell...

    Je souhaiterais exécuter un script powershell pour relever le nombre de boîtes aux lettre de mon serveur exchange à partir d'un serveur windows 2003 server (dédié au monitoring)

    J'ai essayé le script ci-dessous, qui fonctionne très bien sur le serveur exchange, mais sur mon serveur 2003, j'ai l'erreur suivante :

    "Le terme « Get-MailboxStatistics » n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou pro
    gramme exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est co
    rrect et réessayez.
    + CategoryInfo : ObjectNotFound: (Get-MailboxStatistics:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


    J'ai essayé des "pssession", des "invoke"... mais rien n'y fait


    Voici le script en question (trouvé sur le web) :

    ---------------------------------------------------------------------------------------------------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    param([string] $Param )  
    
    $Results = @()
    $CountMB = 0
    
    if(!$param)
     {
      $Servers = Get-Process -computerName nom_du_serveur | Get-ExchangeServer | Where {$_.ServerRole -eq "Mailbox"} | Sort Name
    
      Foreach($Server in $Servers)
       {
        $dbs = Get-MailboxDatabase -server $Server | Sort Name
        
        foreach($db in $dbs)
         {
          $mb = Get-MailboxStatistics -Database $db | Where {$_.DisconnectDate -eq $null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
          $mbdis = Get-MailboxStatistics -Database $db | Where {$_.DisconnectDate -ne $null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
          
          Write-Host "$($Server) `t $($db.name)`t $($a.count)"
          
          $Obj = New-Object PSObject
          $Obj | Add-Member NoteProperty -Name "Server" -Value $Server
          $Obj | Add-Member NoteProperty -Name "Database" -Value $db.Name
          $Obj | Add-Member NoteProperty -Name "Mailboxes" -Value $mb.count
          $Obj | Add-Member NoteProperty -Name "Disconnected Mailboxes" -Value $mbdis.count
          $Results += $Obj
         }
       }
     }
    else
     {
     $server = $param
      $dbs = Get-MailboxDatabase -server $Server | Sort Name
    
      foreach($db in $dbs)
       {
        $mb = Get-MailboxStatistics -Database $db | Where {$_.DisconnectDate -eq $null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
        $mbdis = Get-MailboxStatistics -Database $db | Where {$_.DisconnectDate -ne $null -and $_.ObjectClass -eq 'Mailbox'} | Measure-Object
    
        $Obj = New-Object PSObject
        $Obj | Add-Member NoteProperty -Name "Server" -Value $Server
        $Obj | Add-Member NoteProperty -Name "Database" -Value $db.Name
        $Obj | Add-Member NoteProperty -Name "Mailboxes" -Value $mb.count
        $Obj | Add-Member NoteProperty -Name "Disconnected Mailboxes" -Value $mbdis.count
        $Results += $Obj
        $countmb += $mb.count
        
       }
      Write-Host
      Write-Host "$($Server) has a total of $($CountMB) mailboxes" -ForegroundColor Green
     }
    
    $Results | FT -AutoSize
    ---------------------------------------------------------------------------------------------------------------------

    Si l'un de vous pouvait m'aiguiller sur ce qui cloche, je vous en serais reconnaissante !

    Merci d'avance à tous

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par aurelie122 Voir le message
    Si l'un de vous pouvait m'aiguiller sur ce qui cloche, je vous en serais reconnaissante !
    Ces cmdlets ne sont pas installés sur ton serveur windows 2003 server, tu dois faire de l'implicit remoting.
    C'est à dire ouvrir une session sur le serveur Exchange, chargé le module Exchange, exécuter ton script et récupérer en locale le résultat.

    Cela nécessite au minimum de configurer WinRm sur ces deux serveurs.
    Tu trouveras des tutoriaux sur le net à ce sujet.

    Enfin, attention au fait que tu récupères des objets sérialisés.

Discussions similaires

  1. PowerShell, C#, Exchange 2010
    Par PatStan17 dans le forum C#
    Réponses: 13
    Dernier message: 14/02/2012, 11h49
  2. Réponses: 1
    Dernier message: 08/09/2011, 18h04
  3. C# remote Powershell execution
    Par eSh_Paca dans le forum C#
    Réponses: 0
    Dernier message: 12/09/2010, 10h51
  4. [WS 2008 R2] Remote powershell : problème de connexion à Service Control Manager
    Par Mattk dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 04/08/2010, 11h30
  5. [PowerShell] Invoke-Command - Remote powershell
    Par s4nji dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 24/03/2010, 23h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo