需要设置我的PS字符串的一部分作为一个变量,所以当它运行它要求的值
问题描述:
我已经尝试使用下面但是我想实现的是能够通过PowerShell通过它,它要求我值为-companyCode
。需要设置我的PS字符串的一部分作为一个变量,所以当它运行它要求的值
"\Program Files (x86)\Home\Business Intelligence\ScriptoSql\"ScriptoSqldb1.exe -companyCode="" -sqlserver=SQLSERVER1\INS1,8071 -sqldatabase=StagingDB
现在命令的工作,如果我的字符串值传递它,但我想让它动态的,所以当它被称为它会要求该值,它然后由用户和脚本进入运行。
答
使用mandatory parameter-CompanyCode
包装自定义函数中的命令调用。这样,PowerShell将在调用该函数时提示输入缺少的参数。
function Invoke-ScriptToSqlDB {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true)]
[string]$CompanyCode
)
& "${env:ProgramFiles(x86)}\...\ScriptoSqldb1.exe" -companyCode=$CompanyCode ...
}
Invoke-ScriptToSqlDB -CompanyCode 'whatever' # pass company code
Invoke-ScriptToSqlDB # prompt for company code
我传递通过,但是我得到一个错误 字符串缺少终结者:” + CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordException + FullyQualifiedErrorId:TerminatorExpectedAtEndOfString – Westie
删除嵌套双命令从你的命令路径。 –