簡體   English   中英

如何設置將AD組添加到域中的PC /用戶帳戶的PowerShell腳本?

[英]How do I set up a PowerShell script adding AD groups to PCs/user accounts in domain?

以下是我編寫的腳本(目的是是否將AD組添加到指定的參數-計算機名和用戶名)。 我有一個成功導入的單獨的AD模塊腳本。 但是下面的腳本不起作用。 一位同事提到我需要參考我們公司的域名。 我添加了如下信息(LDAP信息,但現在只是占位符信息)。 還需要什么來確保它與我們的AD域環境一起工作?

[ADSI] "LDAP://cn=VPNAdminUsers,ou=West,dc=MyDomain,dc=com


function Add-DevADGroup {

try {
    param (
        [Parameter(Mandatory = $True)]
        [string] $ComputerName,
        [Parameter(Mandatory = $True)]
        [string] $UserName
    )

[string]$LocalAdmin = (Get-ADGroup -Identity [ADSI] "LDAP://cn=GPP Computer Local Admin Exception,ou=West,dc=MyDomain,dc=com").DistinguishedName
[string]$RDP = (Get-ADGroup -Identity [ADSI] "LDAP://cn=GPP Computer RDP,ou=West,dc=MyDomain,dc=com").DistinguishedName
[string]$RDPException = (Get-ADGroup -Identity [ADSI] "LDAP://cn=GPP Computer RDP Exception,ou=West,dc=MyDomain,dc=com").DistinguishedName
[string]$VPNAdminUsers = (Get-ADGroup -Identity [ADSI] "LDAP://cn=VPNAdminUsers,ou=West,dc=MyDomain,dc=com").DistinguishedName

    $ADGroups = @()
    $ADGroups.Add($LocalAdmin)
    $ADGroups.Add($RDP)
    $ADGroups.Add($RDPException)


foreach ($group in $ADGroups){
            Add-ADPrincipalGroupMembership -Identity $ADGroups -Members $ComputerName
            Write-Output ("{0} has been added to {1}" -f $group.Name, $ComputerName)
    }

if ($ComputerName.Substring($ComputerName.Length -1) -match "L") {
            Add-ADGroupMember -Identity $VPNAdminUsers -Members $UserName
            Write-Output ("VPNAdminUsers has been added to {0}" -f $UserName)
    }

    Catch {

    Write-Error "Unable to add all members to the specified AD Group(s)." -verbose

    }
}
}

Add-DevADGroup

如果它需要在您的環境中工作,那么最好的測試方法是在您的環境中運行它。 大多數PowerShell cmdlet都有-WhatIf參數來告訴它以確保它可以工作,但實際上並未進行任何更改。 因此,為了進行測試,可以將其添加到通常會更改某些內容的任何cmdlet中。 例如:

Add-ADPrincipalGroupMembership -Identity $ADGroups -Members $ComputerName -WhatIf

然后,一旦腳本運行無誤,您可以刪除-WhatIf並對其進行實際運行。

就是說,我可以告訴您,至少有一些語法錯誤會完全阻止它運行:

  1. 您在第一行中缺少右引號,並且
  2. 您在Catch之前缺少} (似乎應該將Catch塊下面的其中一個向上移動)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM