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:
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