【发布时间】:2014-06-24 00:00:19
【问题描述】:
我想创建一个自定义函数来简化 get-messagetrackinglog 命令行开关。 没什么复杂的,只是稍微简化了查询。
函数正常工作,但如果需要,我想在函数中将总字节数转换为千字节。
function Get-ExchangeMessagetrackinglog {
.Synopsys
.Description
.Example
Get-ExchangeMessagetrackinglog -Recipient "user@tld.com" -Sender "sender@tld.com" -Begin "01/04/2014" -Ende "05/05/2014" | select Timestamp,Sender,Recipients,Messagesubject,@{label="Kilobytes";Expression={[int]($_.totalbytes/1kb)} }| ft -auto
param(
[String]$ExchangeConnector = "*",
[String]$Begin=(get-date).AddDays(-120),
[Datetime]$Ende=(get-date -uformat "%m/%d/%y %T"),
[String]$Recipient = "*",
[String]$Sender = "*",
[String]$EventID = "Receive",
[String]$Source = "SMTP"
)
Get-Exchangeserver | `
where { $_.isHubTransportServer -eq $True -or $_.isMailboxServer -eq $True } | `
get-messagetrackinglog -Start $Begin -End $Ende -ResultSize Unlimited | `
where-object { `
$_.recipients -like $Recipient -and `
$_.sender -like $Sender -and `
$_.EventID -eq $EventID -and `
$_.Source -like $Source -and `
$_.connectorID -like $ExchangeConnector}
}
我的问题: 是否可以简化函数调用(.example)? 我不熟悉创建自定义对象,但可以创建一个 totalkilobytes 对象。
谢谢!
【问题讨论】:
-
抱歉格式错误。不知道为什么,在预览中一切看起来都很好。 :(
标签: powershell exchange-server powershell-2.0 exchange-server-2010