这段代码完成了我的需要.但我试图使用某种交换机在同一行上用Windows身份验证或SQL身份验证替换对Invoke-SqlCmd的调用.有人可以用更优雅的方式帮助我吗?我在想Invoke-Expression但是我没有得到任何好的结果.
Function MyFunction{
Param
(
[string]$S = "MyServer",
[string]$U,
[string]$P
)
# Find the SQL Engine version
$Q = "select serverproperty('ProductVersion')"
if($U)
{
$R = Invoke-Sqlcmd -ServerInstance $S -Query $Q -Username $U -Password $P -Verbose
Write-Host "SQL Athenticated"
}
else
{
$R = Invoke-Sqlcmd -ServerInstance $S -Query $Q -Verbose
Write-Host "Windows Athenticated"
}
return $R.column1
}
Run Code Online (Sandbox Code Playgroud)
这是我的Invoke-Expression.它只是不起作用......
Invoke-Expression "$R = Invoke-Sqlcmd -ServerInstance $S -Query $Q $(if($true){""-Username $U -Password $P""})"
Run Code Online (Sandbox Code Playgroud)
这是我正在寻找的优雅解决方案.谢谢迈克:
Function MyFunction{
Param
(
[string]$S = "xps15",
[string]$U,
[string]$P
) …Run Code Online (Sandbox Code Playgroud)