PowerShell中的[environment]和$ env有何不同?

时间:2015-08-25 13:56:33

标签: powershell environment-variables

在Windows Threshold beta上,我可以运行:

$env:username

并查看用户名。我也可以跑:

[environment]::username

并查看用户名。

然而,我可以跑

$env:computername

要查看主机名,请尝试运行:

[environment]::computername

没有显示任何结果。

enter image description here

为什么[environment]::computername不起作用? $env和[环境]之间的区别是什么?

2 个答案:

答案 0 :(得分:5)

尝试使用

http://my.local.dev/index.php?id=1333&tx_items_pi1%5Bitem%5D=229&tx_items_pi1%5Baction%5D=show&tx_items_pi1%5Bcontroller%5D=Item&cHash=f2bfb64cc56fe7f3a9652e803be7a461

[environment]::machinename 直接绑定到环境变量

$env.net class

答案 1 :(得分:4)

当您使用Interface service时,您实际上在Powershell中使用.NET代码。因此,阅读Environment Class的文档会发现您应该使用Client App

[environment]::computername是环境PSDrive的快捷方式。

我不知道微软为什么在这里使用两个不同的名字。

顺便说一下:有很多方法可以获得计算机名称,例如,你也可以使用wmi:[environment]::machinename