我是PS的新手。我正在尝试创建一个outlook邮箱还原脚本,在那里我可以将数据输入到弹出窗口中。。例如,当我运行此脚本时。。
New MailboxRestoreRequest-SourceDatabase"dbname"-SourceStoreMailbox"GUID"-TargetMailbox"RECDBNAME"-AllowLegacyDNMismatch-TargetRootFolder"USERNAME"-name"
我想弹出脚本,询问sourcedatabase、sourcestoreemailbox、targetmailbox和targetroot文件夹,我已经用read-host命令进行了尝试,但运气不好。。。。请帮忙。
就像mjolinor所说的那样,让它成为一个高级函数,你就会获得所需的功能。它不会像PS 2.0对读取主机那样弹出窗口(也许只有PS 2.0 ISE做到了,记不清了),但会在运行时要求用户输入。
有关高级功能的帮助:
Get-Help about_Functions_Advanced
两个简单而简单的例子(使用PowerShell 3.0),展示了一些行为上的差异;
function Test-Stuff {
Param($TestParameter)
Write-Output "Testing $TestParameter"
}
输出:
C: \>测试材料
测试
C: \>
第二个示例将在运行时提示用户输入;
function Test-Stuff
{
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true)]
$TestParameter
)
Write-Output "Testing $TestParameter"
}
输出:
C: \>测试材料
cmdlet Test Stuff位于命令管道位置1
提供以下参数的值:
测试参数:这个东西
测试这种东西
C: \>