次のコード スニペットを使用してコマンドを実行しようとしています。
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 の基本的な概念があると思います。どこで間違ったのですか?