【问题标题】:Powershell get computer name and add to AD groupPowershell 获取计算机名称并添加到 AD 组
【发布时间】:2018-01-24 16:10:40
【问题描述】:

我正在尝试使用 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($m in $mname.split(','))

【问题讨论】:

  • 你为什么用逗号分开?您的数据是什么样的?
  • 如何调用脚本?看起来您忘记将参数传递给 -mname
  • 如果您想学习 Powershell,您可能会开始以更有条理的方式学习 Powershell 的基础知识……例如,Microsoft 提供的免费视频课程。 Getting Started with Microsoft PowerShell

标签: powershell active-directory


【解决方案1】:

只需在顶部添加您的组名,如果您没有运行 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 2022-10-17
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多