2017-04-06 83 views
0

我想下面的环境变量在远程服务器中查询环境变量如果(($ ImageName样“devel的‘) - 或($ ImageName样’托管”))和我想创建一个条件,如果低于变量,下面在服务器上发现变量值,那么“ADE安装目录是成功的”其他“ADE安装目录失败”如何查询从PowerShell的

variable name :ADE_INFRA 

variable value : \\scavere01-zfs.us.oim.com\ade_infra 


variable name :ADE_PACKAGES 

variable value : \\scavere01-zfs.us.oim.com\packages\windows 

我已经创建的脚本像下面,但剧本不给任何输出。我不确定这是否是调用和读取系统变量的正确方法。任何人都可以帮忙吗?

if (($ImageName -like "*devel*") -or ($ImageName -like "*hosted*")) 

{ 

$env= (gci env:*).GetEnumerator() | Sort-Object Name | Out-String 

if (ADE_INFRA -eq "\\scavere01-zfs.us.oim.com\ade_infra" -And ADE_PACKAGES -eq "\\scavere01-zfs.us.oim.com\packages\windows") 

     { 

     $ADE = "ADE Installation Success" 

     echo "ADE = ADE Installation Success" 

     } 

     if (ADE_INFRA -eq $null -And ADE_PACKAGES -eq $null) 

     { 

     $ADE = "ADE Installation Failed" 


     echo "ADE = ADE Installation Failed" 
     } 
} 
+0

看看'调用,Command'和'GCI ENV:' –

+1

我看了一遍又一遍,一遍又一遍,但无法弄清楚你想问什么。 – Clijsters

+2

[无法使用PowerShell从远程服务器访问环境变量](http://stackoverflow.com/questions/31845488/cant-access-environment-variable-from-remote-server-with-powershell) –

回答

0

这应该可以解决你与你的代码中遇到的问题:

if (($ImageName -like "*devel*") -or ($ImageName -like "*hosted*")) 
{ 
    $ADE_INFRA = (gci env:ADE_INFRA).value 
    $ADE_PACKAGES = (gci env:ADE_PACKAGES).value 

    if ($ADE_INFRA -eq "\\scavere01-zfs.us.oim.com\ade_infra" -And $ADE_PACKAGES -eq "\\scavere01-zfs.us.oim.com\packages\windows") 
    { 
     $ADE = "ADE Installation Success" 
    } 
    else 
    { 
     $ADE = "ADE Installation Failed" 
    } 

    Write-Host "ADE = $ADE" 
}