Bra*_*ith 2 arrays powershell select
foreach ($computer in $computername) {
$context = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext -ArgumentList $ctype, $computer
$idtype = [System.DirectoryServices.AccountManagement.IdentityType]::SamAccountName
$group = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($context, $idtype, 'Administrators')
$group.Members | select @{N='Server'; E={$computer}}, @{N='Domain'; E={$_.Context.Name}}, samaccountName
}
Run Code Online (Sandbox Code Playgroud)
有人可以描述这条线吗?“ N”和“ E”代表什么?
select @{N='Server'; E={$computer}}, @{N='Domain'; E={$_.Context.Name}}, samaccountName
我想要的输出看起来像以下内容,我想标记admin组中不属于我们标准设置的用户。确实,我想忽略作为域帐户的SAM帐户,但现在将其标记为有效。发生的情况是有一个遍历SAM帐户的循环来创建此输出。但是,当机器离线时,我也需要这样做。

您正在寻找计算属性的键和值的简写形式。“ N”是Name的缩写。也可以使用“ L”或Label代替Name。“ E”当然是用于表达。
当您要操纵现有属性或用作添加属性的简单方法时,可以使用它们。这绝不是唯一的方法。
TechNet 的Windows PowerShell本周技巧之一研究了一个很好的例子:
Get-ChildItem C:\Test | Select-Object Name, CreationTime, @{Name="Kbytes";Expression={$_.Length / 1Kb}}
Run Code Online (Sandbox Code Playgroud)
Length通常以字节为单位。此处使用计算出的属性来允许更多的人类可读数字。这是操作属性的一个示例。
在您的情况下,您看起来像是在获取成员列表并为每个成员创建输出,同时引用其所连接的服务器。大概信息通常不存在,因此是计算出的属性。
| 归档时间: |
|
| 查看次数: |
5021 次 |
| 最近记录: |