- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在自学 Powershell,我正在努力掌握哈希表。我明白了这个概念,但应用它是另一回事。
我正在使用“你好脚本专家”帖子作为引用,http://blogs.technet.com/b/heyscriptingguy/archive/2011/10/15/automatically-create-a-powershell-hash-table-10-15-11.aspx ,即这里的这一段:
To create a hash table dynamically, follow these steps:
1. Create an empty hash table.
2. Store the empty hash table in a variable.
3. Collect the data.
4. Store the collected data in a variable.
5. Use the foreach statement to walk through the collected data.
6. Inside the loop call the add method to add the key value pairs to the hash table.
An example of this procedure is shown here:
$hash = $null
$hash = @{}
$proc = get-process | Sort-Object -Property name -Unique
foreach ($p in $proc)
{
$hash.add($p.name,$p.id)
}
效果很好,但是当我尝试满足我的需求时,它会说:
Cannot find an overload for "Add" and the argument count: "1".
At line:15 char:10
+ $hash.add <<<< ($strGroup)
+ CategoryInfo : NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest
Google 没有找到任何相关信息,所以我求助于 Stack Overflow Powershell 用户,我做错了什么?
import-module activedirectory
$strDate = Get-Date
$strGroupList = get-content "C:\Users\MYUSERNAME\Documents\Group Audit\audit.txt"
$strGroupDetails = Get-ADGroupMember -identity $strGroup
$strGroupList #list groups found
$hash= $null #empty the hash table
$hash = @{}
foreach ($strGroup in $strGroupList)
{
$hash.add($strGroup)
}
我所做的只是进入一个文本文件,获取 Active Directory 组的名称,返回它们(为了单步执行代码),目的是让每个项目中的组的所有成员在我的列表(文本文件)中,按组划分为单独的数组。例如:
Group1 Time/Date
------ ---------------
member1
member2
member3
member4
Group Owner:__________
Group2 Time/Date
------ ----------------
member1
member2
member3
member4
Group Owner:__________
问题是我不知道自己做错了什么。我通读了这篇文章,按照他的方式做的很好,但是我的方式有问题。我确定我摸到了一些东西,但就是找不到!
感谢任何帮助,欢迎任何批评。
最佳答案
每个哈希表条目都由一个键和一个值组成。
这里:
$hash.add($p.name,$p.id)
你正在向哈希表中添加一个新条目,其中的键是 $p.name 中的任何内容,值是 $p.id 中的任何内容。提供的 .add 方法有两个参数 - 一个用于键,一个用于值。
这里:
$hash.add($strGroup)
您只提供了一个参数,而该方法不知道如何处理它 - 它需要键和值的参数,但没有足够的参数可以使用。
编辑:
我认为这可能更接近您要实现的目标:
import-module activedirectory
$strDate = Get-Date
$strGroupList = get-content "C:\Users\MYUSERNAME\Documents\Group Audit\audit.txt"
$strGroupList #list groups found
$hash= $null #empty the hash table
$hash = @{}
foreach ($strGroup in $strGroupList)
{
$strGroupDetails = Get-ADGroupMember -identity $strGroup
$hash.add($strGroup,$strGroupDetails)
}
关于powershell - 使用 Powershell 'Cannot find an overload for "添加“和参数计数”向哈希表添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23227803/
我是一名优秀的程序员,十分优秀!