[environment] 和 $env 在 powershell 中有何不同?
How are [environment] and $env different in powershell?
在 Windows 阈值测试版上,我可以 运行:
$env:username
并查看用户名。我也可以 运行:
[environment]::username
并查看用户名。
不过我可以 运行
$env:computername
要查看主机名,尝试 运行:
[environment]::computername
没有显示任何结果。
为什么 [environment]::computername
不起作用? $env
和[环境]有什么区别?
尝试使用
[environment]::machinename
$env
直接绑定环境变量
[environment]
是一个 .net class
当您使用 [environment]::computername
时,您实际上是在 Powershell 中使用 .NET 代码。因此,阅读 Environment Class 的文档表明您应该改用 [environment]::machinename
。
$env
是环境 PSDrive.
的快捷方式
我不知道为什么微软在这里使用两个不同的名字。
顺便说一句:有很多方法可以获取计算机名,您也可以使用 wmi:Get-WMIObject Win32_ComputerSystem | Select-Object -ExpandProperty name
在 Windows 阈值测试版上,我可以 运行:
$env:username
并查看用户名。我也可以 运行:
[environment]::username
并查看用户名。
不过我可以 运行
$env:computername
要查看主机名,尝试 运行:
[environment]::computername
没有显示任何结果。
为什么 [environment]::computername
不起作用? $env
和[环境]有什么区别?
尝试使用
[environment]::machinename
$env
直接绑定环境变量
[environment]
是一个 .net class
当您使用 [environment]::computername
时,您实际上是在 Powershell 中使用 .NET 代码。因此,阅读 Environment Class 的文档表明您应该改用 [environment]::machinename
。
$env
是环境 PSDrive.
我不知道为什么微软在这里使用两个不同的名字。
顺便说一句:有很多方法可以获取计算机名,您也可以使用 wmi:Get-WMIObject Win32_ComputerSystem | Select-Object -ExpandProperty name