Powershell获取计算机名称并添加到AD组

时间:2018-01-24 16:10:41

标签: powershell active-directory

我正在尝试利用Powershell获取当前正在运行的计算机名称,然后将该计算机添加到安全组中并且我被卡住了。

强迫自己更好地学习Powershell并从同事那里得到这个,但不知道如何根据我的需要编辑它。此脚本将用于在安装某个软件包以授予访问权限后运行。以下是我到目前为止的情况:

param(
    [string[]]$mname,
    [string[]]$gname
)

foreach($m in $mname.split(','))
{
    $mobj = get-adcomputer $m
    foreach($g in $gname.split(','))
    {
        Add-ADGroupMember "GROUP_NAME" -Members $mobj
    }
} 

错误: 您无法在空值表达式上调用方法。 在C:\ Scripts \ Add-MachineToCollectionGroup.ps1:6 char:15 + foreach($ mname.split中的$ m(','))

1 个答案:

答案 0 :(得分:0)

只需在顶部添加您的群组名称,如果您未运行Powershell 5,则可能需要将Add-ADGroupMember $groupobj -Members $computerobj更改为Add-ADGroupMember $groupobj -Member $computerobj我认为他们已将其更改为。

同时将-whatif添加到最后一行的末尾以进行测试(它会告诉你在没有whatif的情况下会做什么)。

哦,您还需要从具有AD访问权限的帐户运行此操作,才能将计算机添加到组中,并且计算机必须安装了activedirectory模块。

$Groupname = "ENTER GROUP NAME HERE"

$computerobj = Get-ADComputer $env:COMPUTERNAME
$groupobj = Get-ADGroup $Groupname

Add-ADGroupMember $groupobj -Members $computerobj -WhatIf