在 Get-ADUser 筛选器参数中传递字符串会导致错误 - 在 pscustomobject 中找不到属性

2024-03-25

我正在尝试创建一个新的 Active Directory 用户,但首先我验证该用户不存在Get-ADUser。 我从人力资源部门导入用户数据并构建自定义属性:

$newUsers = Import-Csv $csvFile |
            Select-Object -Property @{n='EmpNum';e={$_.'Employee Number'}},
                @{n='UPN';e={$_.'Email Address'}},
                @{n='Alias';e={$_.'Email Address'.Split("@")[0]}} #### etc

当我循环访问 CSV 文件中的对象时,我使用 UPN 属性在 Active Directory 中搜索用户:

foreach ($newUser in $newUsers) {
    $exists = Get-ADUser -Filter {UserPrincipalName -eq $newUser.UPN} -Properties * -Server $adServer -Credential $adCred 
    ...
}

过滤器导致错误:

Get-ADUser : Property: 'UPN' not found in object of type:
'System.Management.Automation.PSCustomObject'. At
C:\Users\bphillips.NEWHOPEOFIN\Dropbox\Powershell\NewHire\AddNewDSP.ps1:50
char:15
+     $exists = Get-ADUser -Filter {UserPrincipalName -eq $newUser.UPN} -Propertie ...

我尝试这样做: -Filter {UserPrincipalName -eq $("$newUser.UPN") 但这没有帮助;我收到另一个错误

Get-ADUser : Cannot process argument because the value of argument
"path" is not valid. Change the value of the "path" argument and run
the operation again. At
C:\Users\bphillips.NEWHOPEOFIN\Dropbox\Powershell\NewHire\AddNewDSP.ps1:50
char:15
+     $exists = Get-ADUser -Filter {UserPrincipalName -eq $("$newUser.UPN")} -Prop ...

$newUser是一个字符串,所以我不明白为什么它会导致问题。对 UserPrincipalName 进行硬编码,例如“[电子邮件受保护] /cdn-cgi/l/email-protection“ 有效,但是$newUser.UPN行不通。**

PS C:\> $newUser.UPN.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object

and

PS C:\> $newUser.UPN | gm

   TypeName: System.String

$newUser.UPN包含有效的字符串值

PS C:\> $newUser.UPN
[email protected] /cdn-cgi/l/email-protection

我需要做什么才能得到$newUser.UPN被识别为过滤器参数的字符串?这是怎么回事我不明白?


The BNF 用于过滤查询字符串 https://technet.microsoft.com/de-de/library/ee617241.aspx不允许表达式作为比较中的第二个操作数,仅允许值(强调我的):

Syntax:
以下语法使用 Backus-Naur 形式来展示如何为此参数使用 PowerShell 表达式语言。

::= "{" "}"
::= | | | |
::= | "(" ")"
::= "-eq" | “-le” | “-ge”| “-ne”| “-lt” | “-gt”| “-大约” | “-bor”| “-带”| “-递归匹配”| “-像”| “-不喜欢”
::= “-and”| “-或者”
::= "-not"
::= |
::= > 将此值与 进行比较

将要比较的属性值放入变量中,并在比较中使用该变量。您可能还想将过滤器定义为实际字符串,只是为了清楚起见(尽管过滤器看起来不是脚本块)。

$upn = $newUser.UPN
$exists = Get-ADUser -Filter "UserPrincipalName -eq '$upn'" ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Get-ADUser 筛选器参数中传递字符串会导致错误 - 在 pscustomobject 中找不到属性 的相关文章

随机推荐

  • 循环引用时 .NET 单元测试中的 StackOverflow

    当我注意到以下情况时 我正在测试其他循环参考电阻 public class Foo private Bar myBar new Bar public class Bar private Foo myFoo new Foo Fact publ
  • “pointer-events: none”在 IE9 和 IE10 中不起作用

    CSS 属性pointer events none 在 Firefox 中工作正常 但在 Internet Explorer 9 10 中则不然 有没有办法在 IE 中实现该属性的相同行为 有任何想法吗 来自 MDN 文档 警告 在 CSS
  • React:检查器不是一个函数

    我在 React 应用程序的控制台中收到这条奇怪的警告消息 警告 Failed propType checker is not a function 检查渲染方法Chart 我根本没有任何检查方法 如果我删除我的propTypes 警告消失
  • 姜戈 1.5。 'url' 需要一个非空的第一个参数。 Django 1.5 中的语法发生了变化

    如果我尝试 href url post content product id p id 我有这个错误 url 需要一个非空的第一个参数 语法发生了变化 Django 1 5 请参阅文档 如何改变呢 Django 1 5 中的更改 第一个参数
  • Unity中协程的异常处理

    我创建了一个脚本来更改它所附加的游戏对象的透明度 并且我在需要可取消的淡入淡出协程中进行透明度更改 并且每次我们调用时都取消 ChangeTransparency 具有新的值 我设法让它按照我想要的方式工作 但我想处理OperationCa
  • SQLite 比 MySQL 更快?

    我想设置一个 teampeak 3 服务器 我可以选择 SQLite 和 MySQL 作为数据库 好吧 我通常倾向于 不要在生产中使用 SQLite 但另一方面 它是一个 Teamspeak 服务器 好吧 让我谷歌一下 我发现了这个 Spe
  • FOSUserBundle 一对一映射实体未保存

    大家好 我有一个关于在实体 FosUserBundle 中实现一对一的问题 用户实体与配置文件实体具有一对一的映射 我已经按照 FOSUserBundle 文档中所示覆盖了基本的 RegistrationFormType 记录也保存在两个表
  • 在 Terraform 中引用 gitlab 秘密

    我对 Terraforms 和 gitlab CI 很陌生 我想用它来做一些事情 我想使用 Terraform 创建 IAM 用户和 S3 存储桶 使用策略允许该 IAM 用户对此 S3 存储桶执行某些操作 将 IAM 用户的凭证保存在工件
  • 滚动您自己的明文 Wiki(数据库内的 Wiki)

    有人知道用于创建类似 wiki 的数据存储的 API 最好是 PHP 但我对任何语言都感兴趣 关于滚动您自己的纯文本 wiki 的任何资源怎么样 其他纯文本 wiki 如何处理文本文件的格式 我知道我可以使用 Markdown 或 Text
  • 现有模型和数据库表的rails g脚手架

    我想创建一个结构rails g scaffold Article 但我已经创建了表Articles和型号Articles 有什么办法可以做到这一点吗 rails generate scaffold controller Article
  • 如何在Plotly(python)中设置背景颜色,标题?

    下面是我的代码 有人可以告诉我如何设置背景颜色 标题 x轴y轴标签 scatterplot plot Scatter x x index y x rating mode markers marker dict size 10 color x
  • PHP 中的 Switch-Case 和 If-Else 有什么区别?

    我正在决定是否使用if else vs switch case在我正在编写的一个 PHP 网站中 我想知道使用其中之一是否有任何好处 或者是否在某些情况下打算使用其中一种而不是另一种 有趣的问题 因为在编译语言 甚至是 JIT 语言 中 使
  • 使 'week' 函数为双周

    嗨 这一切应该是一个简单的问题 我只是似乎无法弄清楚 我想每两周分解一次该数据集 以便以两周为间隔查看年度周期 我不想总结或汇总数据 我想做的正是 周 函数正在做的事情 但每两周一次 下面是数据和代码的示例 任何帮助将不胜感激 DF lt
  • 棋盘坐标

    我正在尝试用 Java 创建一个国际象棋程序 现在 我已经将棋盘与现有的部件一起完成 我可以用鼠标通过拖放来移动它们 我需要的是向两侧的方块添加坐标 就像在真正的板上一样 不一定要有什么奇特的东西 只是一个视觉效果 由于我没有使用图形绘制板
  • 使用触发器将数据从 SQL Server 插入到 MySql

    我有两个数据库 一个在 SQL Server 中 另一个在 MySql 中 我想在 SQL Server 表中进行插入时将数据插入 MySQL 表中 是否可以在 SQL Server 中使用触发器 请给我一个答案 您可以从以下位置创建连接M
  • 可以触发流选择特定文件

    我的程序连续读取流hadoop文件夹 比如 hadoopPath 它从上面的文件夹中选取所有文件 我可以只显示该文件夹的特定文件类型吗 例如 hadoopPath log 我还有一个与 Spark 和流媒体相关的问题 Spark Strea
  • 在 Kinect 示例中用 Google Earth 地球仪替换可平移的世界地图图像

    我需要有关如何使用 Kinect 手势而不是使用鼠标 键盘导航来控制 Google 地球的基本指导 我已经运行了 Kinect Developer 工具包示例 并且有一个名为 C 的交互式画廊 允许平移世界地图 它是静态图像 这是其文档的链
  • Firebase函数-查询firestore

    我试图从云函数中的 firestore 检索一些数据 但什么也没有得到 客户端上的相同查询给出了正确的结果 这可能是小事 但我没有看到问题 我究竟做错了什么 const functions require firebase function
  • 使用范围,如何将 .COPY DESTINATION 粘贴为值

    我有以下代码 可以很好地将整个单元格复制到新的目的地 Dim ws As Worksheet rng As Range Set ws Sheets Duplicates Set rng ws Range A2 rng Copy Destin
  • 在 Get-ADUser 筛选器参数中传递字符串会导致错误 - 在 pscustomobject 中找不到属性

    我正在尝试创建一个新的 Active Directory 用户 但首先我验证该用户不存在Get ADUser 我从人力资源部门导入用户数据并构建自定义属性 newUsers Import Csv csvFile Select Object