Ваш код предполагает, что у вас будет результат, возвращающийся с $b
, но если этого не произойдет, вы получите ошибку, потому что вы вводите $b
, который является нулевым, в Export-CSV
.
$null |export-csv c:\temp\1.csv
Export-Csv : Cannot bind argument to parameter 'InputObject' because it is null.
At line:1 char:8
+ $null |export-csv c:\temp\1.csv
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Export-Csv], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ExportCs
Перед попыткой экспорта вы должны добавить «Охранную оговорку».
if ($null -ne $b){
Export-csv -Append -InputObject $b
}
По крайней мере это будет продолжаться. Теперь ваша следующая задача - определить, почему $b
будет пустым ... из моего опыта работы с CM, я уверен, вам нужно указать, какое свойство в вашем $file
вам нужно. Возможно, эта строка должна выглядеть следующим образом:
$b = Get-CMDeploymentStatus -PackageId $newfile.PackageId -StatusType Any | select PackageID