Я пытаюсь выполнить команду, используя следующий фрагмент кода:
foreach($package in (Get-Childitem *.dtsx | select-object -expand Name))
{
DTUTIL /COPY SQL;"\$package" /DESTSERVER "$global:SSISServer" /FILE "$package" /Q
}
Однако делать это приводит следующее сообщение об ошибке:
You must provide a value expression on the right-hand side of the '/' operator.
At C:\Projects\RiskOptix\Code\Deployment\BuildAll.ps1:267 char:39
+ DTUTIL /COPY SQL;"\$package"/<<<< DESTSERVER "$global:SSISServer" /FILE "$package" /Q
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpectedValueExpression
Я также попытался
& DTUTIL "/COPY SQL;'\" + [System.IO.Path]::GetFileNameWithoutExtension($package) + "' /DESTSERVER '$global:SSISServer' /FILE $package"
Но теперь это дает мне
Microsoft (R) SQL Server SSIS Package Utilities
Version 10.50.1600.1 for 32-bit
Copyright (C) Microsoft Corporation 2010. All rights reserved.
At least one of the DTS, SQL, or File options must be specified.
Но, по крайней мере, команда выполнялась, но похоже, что она не получила ни одного из параметров, которые я ее отправил ... Я предполагаю, что существует фундаментальная концепция PowerShell, которую я пропускаю или не понимаю здесь , Где я ошибся?
Это сработало - я думаю, моя проблема не в том, как параметры передаются команде из PowerShell Спасибо, это сводило меня с ума – blue18hutthutt