0

需要创建一个 Powershell v2 脚本来列出来自 Exchange 2010 服务器的邮箱详细信息(邮箱名称、电子邮件地址、邮箱大小)并将它们导入 MySQL 数据库表。

我可以将 Exchange 信息导入 Powershell,但是如何将每条信息插入 MySQL 中的不同列?

如:邮箱名称、邮箱地址、邮箱大小等。

有人知道怎么做吗?

4

1 回答 1

0

这是一个脚本,您可以编辑以将电子邮件地址和任何其他交换导出的 powershell 内容添加到 mysql

[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
$servers = Get-MailboxServer
foreach($server in $servers)
{   $mailboxes = Get-Mailbox -server $server -ResultSize unlimited
foreach ($m in $mailboxes)
{   $stats = Get-MailboxStatistics $m | Select ItemCount,DeletedItemCount,TotalItemSize,TotalDeletedItemSize
$date = Get-Date -Format "dd MMM yyyy h:mmtt"
$alias = $m.Alias
$items = $stats.ItemCount
$deletedItems = $stats.DeletedItemCount
$size = $stats.TotalItemSize.Value.ToMB()
$deletedSize = $stats.TotalDeletedItemSize.Value.ToMB()

$dbconnect = New-Object MySql.Data.MySqlClient.MySqlConnection
$dbconnect.ConnectionString = "server=<SERVER>;port=3306;uid=<USERNAME>;pwd=<PASSWORD>;database=<DATABASE>;"
$dbconnect.Open()
$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
$sql.Connection = $dbconnect
$sql.CommandText = "INSERT INTO <TABLE> (Timestamp,Alias,ItemCount,TotalItemSize,DeletedItemCount,TotalDeletedItemSize) values ('" + $date + "','" + $alias + "','" + $items + "','" + $size + "','" + $deletedItems + "','" + $deletedSize + "')"
$sql.ExecuteNonQuery()
$dbconnect.Close()
}
}
于 2012-10-03T05:07:09.110 回答