我在测试系统中编写了一个脚本,用于访问一些SCCM对象及其属性。这些对象的所有属性名称都以小写形式输入,并且一切正常。 然后我将脚本移植到我们的生产环境中,脚本失败了。我发现所有对象属性名称都区分大小写!所以我不得不使用$ var.Name而不是$ var.name。我在powershell中找不到任何选项,将属性名称转换为严格区分大小写。有人知道这样的选择吗?我们正在运行Powershell V3 btw。
答案 0 :(得分:2)
大多数情况下,Powershell是Case Aware但不区分大小写。
然而,许多例外情况都可以在外部cmdlet或Powershell可用的功能中找到,例如[ADSI]
和LDAP
甚至[Regex]
我的脚本中也注意到ForEach
喜欢属性为小写的属性,但它是我在此偏好中遇到的唯一特定命令。
这似乎是一个非常奇怪的主题,但是快速搜索我发现了一些很好的阅读文章
并与
相关联