我有一个需要大量重复才能输入的 powershell cmdlet (move-IMAPMailboxToExchange)。我想用另一个批处理/powershell 脚本调用它,该脚本只从命令行获取两个参数。我已经尝试了所有我能想到的调用约定,但我无法让它发挥作用。
我要这个:
Move-IMAPMailboxToExchange -SourcePassword P@ssW0rd! -allowunsecureconnection -sourceLoginId username -sourceserver source.ser.ver -sourceidentity [email protected] targetclientaccessserver "client.access.ser.ver" -targetidentity [email protected] -verbose
要这样:
migrate-user username P@ssW0rd!
我试过 $args,但这似乎扩大了。我试过 $args[0] 可以在裸字密码和 sourcelogin 中使用,但在 @mail 旁边不起作用....我已经尝试过 %1 等,从旧的 DOS 时代开始,但那没有不工作。
我是一个 unix dork,我还不太熟悉 powershell。
据我所知,单引号是 PowerShell 如何将某些内容指定为“不解析”。所以...
你可能想做这样的事情
作为在脚本上下文中牢固声明变量的一种方式。如果您在构建 -sourceidentity 和 -targetidentity 变量时遇到问题,您可能需要在将它们放在 move-imaptoexchange 命令之前预先构建它们...
您应该能够围绕 cmdlet 定义函数或脚本文件,如下所示: