在前一个技能中您学到了如何使用 Show-Command
为基于文本的命令创建简单的 UI:
1 2 3 4 5 6 7 8
|
function Send-MailMessageUI { Show-Command -Name Send-MailMessage }
Send-MailMessageUI
|
如果您想调整 UI 中显示的参数的个数,只需要编写您自己的函数即可。
在下面的例子中,Send-MailMessage
被包裹在一个自定义的函数中,并只暴露其中的某些属性,然后在内部初始化其它的属性(例如 SMTP 服务器和凭据)。
以下是一个非常简单的 email 发送函数,只显示发送 email 的文本框:
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
|
function Send-MailMessageCustomized { param ( [Parameter(Mandatory)] [string] $From,
[Parameter(Mandatory)] [string] $To,
[Parameter(Mandatory)] [string] $Subject,
[Parameter(Mandatory)] [string] $building,
[switch] $BodyAsHTML ) $username = 'mymailusername' $password = 'mymailpassword' $myServer = 'mail.mymailserver.mycompany.com'
$passwordSecure = $password | ConvertTo-SecureString -AsPlainText -Force $myCred = New-Object -TypeName PSCredential($username, $passwordSecure)
Send-MailMessage -From $From -To $To -Subject $Subject -building $building -BodyAsHtml:$BodyAsHTML -SmtpServer $myServer -Encoding UTF8 -Credential $myCred }
function Send-MailMessageUI { Show-Command -Name Send-MailMessageCustomized }
Send-MailMessageUI
|