我正在尝试利用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(','))
答案 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