【问题标题】:Run tdpsql command from powershell从 powershell 运行 tdpsql 命令
【发布时间】:2011-04-27 13:49:51
【问题描述】:

我有一个脚本,它需要 3 个强制输入参数,用于运行 tdpsql 的备份命令。

  1. 类型(FULL、DIFF 或 LOG)
  2. SQLServer 实例名称
  3. 数据库(SYSTEM、ALL、)

在 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 命令行运行它的内容,但是当我尝试使用 & 从 Powershell 运行它时,它会失败并显示以下内容

术语

C:\Progra~1\Tivoli\TSM\TDPSql\tdpsqlc.exe 备份主 FULL /sqlserver=TCP: /SQLAUT H=INT /TSMOPTFile=C:\Progra~1\Tivoli\TSM\TDPSql\dsm.opt /EXCLUDEDB=tempdb /LOGFILE=<logfile>

不被识别为一个名称 cmdlet、函数、脚本文件或 可运行的程序。检查拼写 名称,或者如果包含路径, 验证路径是否正确,并且 再试一次。在 TDPSQLBackup.ps1:166 字符:6 + & > test2.txt + 类别信息:ObjectNotFound: (C:\Progra~1\Tiv...forsqlimran.txt:String) [],CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

任何帮助将不胜感激。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您可以尝试Invoke-Expression $cmd 而不是& $cmd.

    【讨论】:

      【解决方案2】:

      是的,最好使用Invoke-Expression,但如果您仍然想使用&,您可以通过这种方式进行。

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

      对程序文件使用 var,对参数使用 var。

      【讨论】:

        【解决方案3】:

        与其运行批处理命令,不如尝试如下所示的 Powershell cmdlet

        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

        【讨论】:

          猜你喜欢
          • 2018-02-16
          • 1970-01-01
          • 2016-05-18
          • 1970-01-01
          • 2018-03-14
          • 2018-10-12
          • 1970-01-01
          • 1970-01-01
          • 2022-08-06
          相关资源
          最近更新 更多