首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell环境变量

Powershell环境变量
EN

Stack Overflow用户
提问于 2015-01-15 05:48:51
回答 2查看 424关注 0票数 2

我尝试在PowerShell中使用环境变量,但我找到的示例似乎不起作用。这是我用来测试的脚本:

代码语言:javascript
复制
Get-ChildItem Env:
Write-Host "************" 
$AlarmDatastore = Get-ChildItem Env:*VMWARE_ALARM_TARGET_NAME*
Write-Host "Var = " $AlarmDatastore.value
$Test = $env:VMWARE_ALARM_TARGET_NAME
Write-Host "Test = " $Test

脚本的输出:

代码语言:javascript
复制
USERNAME                       ADMIN.GABRI
USERPROFILE                    C:\Users\admin.gabri
VMWARE_ALARM_ALARMVALUE        Current values for metric/state
VMWARE_ALARM_DECLARINGSUMMARY  ([Yellow metric Is above 10; Red metric Is a...
VMWARE_ALARM_EVENTDESCRIPTION  Alarm 'Alarm 10 percent test with script' on ...
VMWARE_ALARM_ID                alarm-601
VMWARE_ALARM_NAME              Alarm 10 percent test with script
VMWARE_ALARM_NEWSTATUS         Red
VMWARE_ALARM_OLDSTATUS         Gray
VMWARE_ALARM_TARGET_ID         datastore-12587
VMWARE_ALARM_TARGET_NAME       VCD-VMFS-095-FAST-VNX-5400-04
VMWARE_ALARM_TRIGGERINGSUMM... Metric Disk Space actually used = 96
windir                         C:\Windows
************
Var =  VCD-VMFS-095-FAST-VNX-5400-04
Test =

为什么我只能使用: Get-ChildItem Env:*VMWARE_ALARM_TARGET_NAME*,而不是简单地通过$Test = $env:VMWARE_ALARM_TARGET_NAME来获取环境变量

EN

回答 2

Stack Overflow用户

发布于 2015-01-15 06:42:12

下面是一些可以尝试的东西:

代码语言:javascript
复制
#Use ${ } for complex variable names
${env:VMWARE_ALARM_TARGET_NAME} 

#Or as part of a print statement use env directly (with or without ${env:}):
Write-Host "Test = $($env:VMWARE_ALARM_TARGET_NAME)" 

#At an interactive prompt see if it can be tab completed
$env:VMWWARE  #then tab to see if it shows up in auto complete

此外,当您运行set时,查看cmd.exe显示的内容也是值得的。在Powershell类型中:

代码语言:javascript
复制
cmd
set
exit

看看输出是什么样子。

票数 0
EN

Stack Overflow用户

发布于 2015-01-16 01:24:24

由于时间压力,我现在不得不这样做:

代码语言:javascript
复制
$AlarmTARGET_NAME = get-childitem Env:*VMWARE_ALARM_TARGET_NAME*
$AlarmNAME = get-childitem Env:*VMWARE_ALARM_NAME*
$AlarmEVENTDESCRIPTION = get-childitem Env:*VMWARE_ALARM_EVENTDESCRIPTION*
$AlarmDECLARINGSUMMARY = get-childitem Env:*VMWARE_ALARM_DECLARINGSUMMARY*
$AlarmVALUE = get-childitem Env:*VMWARE_ALARM_ALARMVALUE*

不是很干净的代码,但它可以工作。谢谢你所有的回复。

加布里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27953070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档