您好我正在尝试创建一个可以通过脚本调用的变量列表。变量将来自SQL表。以下是我到目前为止的情况。我试图设置一个没有运气的变量。我知道自己可能缺少什么吗?
Function GlobalVariables () {
$ListQuery = "SELECT Top 1 SourceServer, SourceDBase, SourceObject, TargetServer, TargetDBase, TargetObject, TargetObject_IN FROM dbo.$ConfigTable WHERE OptionActive = 1"
[array]$MovingList = Invoke-Sqlcmd -ServerInstance $ConfigServer -Database $ConfigDB -Query $ListQuery
$MovingList |
New-Variable -Name DevServ $_.SourceSever -Scope Global
}
Write-Output $DevServ
GlobalVariables
答案 0 :(得分:0)
假设其他一切都是正确的,你似乎在这里错过了一个foreach-object:
$MovingList |
New-Variable -Name DevServ $_.SourceSever -Scope Global
但一般来说,使用全局变量是不好的做法,我不得不怀疑你是否会把所有这些都放到哈希表中更好。
答案 1 :(得分:0)
$DevServ
在之后调用GlobalVariables
后才会存在。意思是,这两行:
Write-Output $DevServ
GlobalVariables
应该颠倒过来:
GlobalVariables
Write-Output $DevServ