2014-01-16 25 views
0

嗨我想創建一個變量列表,將能夠通過腳本調用。這些變量將來自SQL表。以下是我到目前爲止。我試圖設置一個沒有運氣的變量。任何想法,我可能會失蹤?在powershell中創建一個新的全局變量

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

假設一切是正確的,你似乎在這裏失去了一個foreach對象:

$MovingList | 
    New-Variable -Name DevServ $_.SourceSever -Scope Global 

但是總體來說,使用全局變量是不好的做法,我想知道,如果你不會最好把所有的東西放到哈希表中。

0

$DevServ將不會存在,直到你叫GlobalVariables。意思是,這兩條線:

Write-Output $DevServ 
GlobalVariables 

應該扭轉:

GlobalVariables 
Write-Output $DevServ