这是我安装 ADFS 脚本的一部分。非常简单,但似乎 Start-Process 正在以一种有趣的方式解析开关。有什么我想念的吗?
write-host "Installing ADFS - process should take 30-45 seconds"
$installtime=get-date -uformat "%Y_%h_%d_%H_%M"
$logfile="$pwd\adfssetup_$installtime.log"
$ADFSInstall = "AdfsSetup.exe"
$ADFSInstallParams = '/quiet /logfile '+$logfile
Start-Process $ADFSInstall $ADFSInstallParams -wait
if ({gc -path $logfile | select-string -pattern "AD FS 2.0 is already installed on this computer"} -eq $null){write-host -ForegroundColor Cyan "ADFS Installed"} Else{write-host -ForegroundColor "There was an error Installing ADFS, please check the log file: $logfile;break}
如果我执行上述脚本,我会在日志文件中得到以下内容:
Microsoft.IdentityServer.Setup 错误:5124:6 [2070099085]:System.FormatException:索引(从零开始)必须大于或等于零且小于参数列表的大小。 在 System.Text.StringBuilder.AppendFormat(IFormatProvider 提供程序,字符串格式,对象 [] 参数) 在 Microsoft.IdentityServer.Setup.Diagnostics.TraceLog.WriteLine(TraceEventType 事件类型,字符串味精,对象 [] 参数)
如果我手动执行完全相同的命令(来自 write-host 的输出),一切正常。
有任何想法吗?谢谢你。