首页 > 解决方案 > 在 Get-ADuser 上过滤时未定义 $env:USERNAME?

问题描述

谁能解释为什么会失败:

PS C:\Windows\system32> Get-ADUser -Filter {SamAccountName -eq $env:USERNAME}
Get-ADUser : Variable: 'env' found in expression: $env is not defined.

但这成功了:

PS C:\Windows\system32> $u=$env:USERNAME

PS C:\Windows\system32> Get-ADUser -Filter {SamAccountName -eq $u}

DistinguishedName : CN<snip>

以上是最优雅的解决方法还是我错过了什么?

标签: powershell

解决方案


这有效:

$username = $env:USERNAME
Get-ADUser -Filter 'SamAccountName -eq $username'

这也有效:

Get-ADUser -Filter "SamAccountName -eq '$($env:USERNAME)'"

在此处输入图像描述


推荐阅读