0
EDIT:
この質問は.exeファイルが実際に返すものの完全に理解せずに頼まれました。コードスニペットは実際に想定されていたものを返しました。ワークフロー内のPowerShellからのSharePointの前提条件をインストールしようとすると
オリジナル質問:
コード:
workflow parallelPrereqInstall{
param ($serverNames, $outputFile, $installFilePath)
Function Log-Write([string]$logString){
$logTime = Get-Date -Format "MM-dd-yyyy_hh-mm-ss"
$s = "$logTime $logString";
Add-Content $Using:outputFile -Value $s
Write-Host $logString
}
foreach -parallel($server in $serverNames){
$SPPrereqsInstalled = InlineScript {
$installSPPrereqs = {
$fullPath = "$args\prerequisiteinstaller.exe"
$prereqResult = Start-Process -FilePath $fullPath -ArgumentList "/unattended" -Verb RunAs -Wait -WindowStyle Maximized -PassThru
return $prereqResult.ExitCode
}
$user = "domain\admin"
$pass = "password"
$securePass = ConvertTo-SecureString $pass -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential $user, $securePass
Invoke-Command -ComputerName $Using:server -ScriptBlock $installSPPrereqs -ArgumentList $Using:installFilePath -Credential $cred -Authentication Credssp
}
}
I常に$prereqResults
から-1
を取り戻すと、それを再度実行および/または与えるべきであるのに対し、それから、単にエラーを何かをインストールしているようです私は別の終了コード。私は正しい終了コードを得ているとは思わない。
私は終了コードのプロパティを指定しない場合、このようprereqResultsリターン:
@{Path=; Company=; CPU=0.0625; FileVersion=; ProductVersion=; Description=; Product=; __NounName=Process; PSComputerName=localhost; RunspaceId=a62e33ea-5f4c-4cae-85a4-d1426efacced; PSShowComputerName=True; PSSourceJobInstanceId=b2624e9f-5584-4874-a5b3-a9745f95bf42; ExitCode=-1; HasExited=True; ExitTime=03/20/2017 13:12:31; Handle=2504; SafeHandle=Microsoft.Win32.SafeHandles.SafeProcessHandle; Id=2980; MachineName=.; PrivilegedProcessorTime=00:00:00.0625000; StartInfo=System.Diagnostics.ProcessStartInfo; StartTime=03/20/2017 13:12:30; SynchronizingObject=; Total
ProcessorTime=00:00:00.0625000; UserProcessorTime=00:00:00; EnableRaisingEvents=False; Site=; Container=}
は、誰かが私が適切に終了コードを実行して返す方法を見つけ出す手助けすることはできますか?