2017-07-06 179 views
0

我在Azure的CustomScriptExtension脚本中使用$env:homedrive。 奇怪的是,有时我从这个变量中得到空白,但有时候确定。

这个环境变量不可靠吗?

+0

请发表[mcve](https://stackoverflow.com/help/mcve)。它可能是环境变量,它可能是你的代码中的其他东西。 – gms0ulman

回答

0
  1. 不看剧本就很难说。但是您可以在继续之前进行$ null条件检查。
if($env:HOMEDRIVE -eq $null){ 
    $env:HOMEDRIVE = "H:" # Whatever you want 
} 
else{ 
    Do-WhatYouWant 
} 
  • 替代,可以直接在脚本或函数的开头设置$env:HOMEDRIVE到所需的位置。但是,我仍然希望始终使用$ null检查条件。 @Dave Wu
  • 0

    如果它涉及到登录时的脚本,可能是由于windows fast logon而导致网络尚未加载。也许直接从注册表中拉它更可靠:

    (Get-Item -ErrorAction SilentlyContinue "HKCU:\Volatile Environment").GetValue("HomeDrive")