正在尝试使用powershell将域全局组添加到域中的远程计算机本地组
我当前正在尝试将域全局组(Desktopgr)添加到本地组(Localgr)。 让我更详细地说明这一点: 我在一个域(GermanTool.com)中有一台machine2008服务器(LDAPCLIENT,ip 10.112.252.222)。 我有一个AD(Active directory)服务器(Vcenter,ip 10.112.252.218)。 GermanTool.com是AD服务器中唯一的域。 该域有许多全局组,其中一个是“Desktopgr”。 此组包含可以通过RDP登录到域中任何服务器的用户 通过GUI服务器管理工具,我可以将域全局组(Desktopgr)添加到计算机本地组(Localgr)的成员中 我已以域用户“GermanTool\rohit”和密码“%%”登录到LDAPCLIENT计算机 我已将该组从Localgr中删除。现在,我尝试编写一个Powershell脚本来实现同样的功能。 我已经作为域用户登录到LADPCLIENT计算机,两台计算机都可以从任意一侧ping,并且都在同一个域中 我运行我编写的脚本,但出现以下错误: 使用“1”参数调用“Add”时出现异常:“访问被拒绝 在C:\script\a.ps1:44 char:20正在尝试使用powershell将域全局组添加到域中的远程计算机本地组,powershell,active-directory,perl-module,Powershell,Active Directory,Perl Module,我当前正在尝试将域全局组(Desktopgr)添加到本地组(Localgr)。 让我更详细地说明这一点: 我在一个域(GermanTool.com)中有一台machine2008服务器(LDAPCLIENT,ip 10.112.252.222)。 我有一个AD(Active directory)服务器(Vcenter,ip 10.112.252.218)。 GermanTool.com是AD服务器中唯一的域。 该域有许多全局组,其中一个是“Desktopgr”。 此组包含可以通过RDP登录到域中
- $LocalGroup.Add我建议使用组策略而不是脚本来执行此操作。不允许执行脚本的用户在计算机上修改本地组。也许您只需要以管理员身份运行脚本。@AnsgarWiechers,要求是自动化的,所以脚本.group策略只是另一种自动化n、 在大多数领域场景中,它可以提供更好的控制。您的业务需求是什么,即为什么您认为需要使用脚本执行此操作?至于管理员权限:如果启用了UAC,您需要以“管理员”身份显式运行脚本。
####################################################################### # # File: Add2LocalGr.ps1 # Purpose: Example of adding a Domain group to a Local group # Author: Rohit Basu # Date: 12/05/2013 # Get List of Servers from Flat TXT file`Servers.txt` $Servers = Get-Content Servers.txt #GermanTool #"LDAP://ldap.company.com:389/$($dn)" #$credn = New-Object -TypeNam System.DirectoryServices.DirectoryEntry("LDAP://10.112.252.218:389/GermanTool","rohit","%%%%%") #Initaliaze the Domain Group Object $DomainGroup = [ADSI]"WinNT://10.112.252.218/Desktopgr,Group" #$DomainGroup = "$credn/Globalgroup,Group" #Name the LogFile and Initialize it $LogFile = ".\Logs\ServerLog.txt" New-Item $LogFile -type file -force ForEach ($Server in $Servers) #Loop through each server { $Server $Server>>$LogFile #Get Local Group object $LocalGroup = [ADSI]"WinNT://$Server/Localgr,Group" "Hi This is to see Localgroup">>$LogFile $LocalGroup.Path>>$LogFile "Hi This is to see Globalgroup">>$LogFile $DomainGroup.Path>>$LogFile #Assign DomainGroup to LocalGroup $LocalGroup.Add($DomainGroup.Path) #Determine if command was successful If (!$?) #Add failed { $Server + " fail: " + $Error[0]>>$LogFile "">>$LogFile } Else #Add succeeded { $Server + " success">>$LogFile "">>$LogFile $Server + " success" } } #####################################################