2011-04-27 22 views
1

私はtdpsqlのバックアップコマンドを実行するために使用される3つの必須入力パラメータを必要とするスクリプトを用意しています。powershellからtdpsqlコマンドを実行してください

  1. タイプ(FULL、DIFFまたはLOG)
  2. SQLServerinstancename
  3. データベース(すべてのシステム、)PowerShellスクリプト内

は、私は次の行を持っている

$cmd = "C:\Progra~1\Tivoli\TSM\TDPSql\tdpsqlc.exe backup " + $idatabase + " " + $action + " " + $parameter + " /LOGFILE=" + $logdir + $logfile + "" $tdpsqlexe - The tdpsqlc exe. 
$idatabase - Database name 
$action = FULL\DIFF\LOG 
$parameter = /sqlserver=TCP:" + $sqlserverinstance + " /SQLAUTH=INT /TSMOPTFile='" + $dsmoptfilename + "' /EXCLUDEDB=" + $exclude 

& $cmd 

私がコマンドをエコーすると、powershellのコマンドラインを使って実行するコマンドを報告しますが、Powから実行しようとすると\ PROGRA〜1 \チボリ\ TSM \ TDPSql \ バックアップマスターFULL /SQLServerの= TCP tdpsqlc.exe: それは用語

Cで失敗&でershell/SQLAUT H = INT /TSMOPTFile=C:\Progra~1\Tivoli\TSM\TDPSql\dsm.opt/EXCLUDEDB = tempdbの/ LOGFILE = <logfile>

は、012の名前として認識されませんまたはパスが含まれている場合は、 のパスが正しいことを確認し、 を再試行してください。先頭へ戻るこの資料は以下の製品について記述したものです。 TDPSQLBackup.ps1時:166 文字:6 + & < < < < $ CMD >> test2.txtという名前 + CategoryInfo:ObjectNotFound: (C:\ PROGRA〜1 \ Tivを... forsqlimran.txt:String)を []、CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException

すべてのヘルプは本当に理解されるであろう。

答えて

1

あなたははい、より良いInvoke-Expressionを使用Invoke-Expression $cmd代わりの& $cmd.

0

を試みるかもしれませんが、あなたはまだ&を使用したい場合は、この方法でそれを行うことができます。

$cmd = "C:\Windows\System32\notepad.exe" 
$params = "C:\temp\file.txt" 

& $cmd $params 

プログラムファイルにはvarを使用し、パラメータにはvarを使用します。

0

代わりにバッチコマンドを実行しているのあなたは、より良い

import-module "C:\Program Files\Tivoli\Flashcopymanager\fmmodulemmc.dll" 
import-module "C:\Program Files\Tivoli\Flashcopymanager\fmmoduleSQL.dll" 

$startTime = get-date 
Backup-DpSqlComponent -Name AdventureWorks2012 -BackupDestination TSM -BackupMethod Legacy -Full 
$endTime = get-date 

$activity = Get-FcmMmcActivity -StartTime $startTime -EndTime $endTime 
$activity 

参考リンクをたどる http://www-01.ibm.com/support/docview.wss?uid=swg21974345

としてPowerShellコマンドレットを試してみました
関連する問題