我已经尝试使用以下内容,但是我想要实现的是能够通过PowerShell传递它,并要求我输入-companyCode
的值。
"Program Files (x86)HomeBusiness IntelligenceScriptoSql"ScriptoSqldb1.exe -companyCode="" -sqlserver=SQLSERVER1INS1,8071 -sqldatabase=StagingDB
现在,如果我在字符串中传递一个带有它的值,则该命令有效,但我想使其动态化,因此当调用它时,它会要求该值,然后由用户输入并运行脚本。
将
命令调用包装在具有强制参数 -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