gpt4 book ai didi

powershell - 将AD组添加到多台服务器上的本地管理组的脚本

转载 作者:行者123 更新时间:2023-12-03 00:17:40 24 4
gpt4 key购买 nike

##Roji P Rajan

$ErrorActionPreference = "silentlycontinue"

$Domain = Read-Host "`nEnter Domain name to connect"
$UserName = Read-Host "`nEnter AD Group name to add "
$DomName = $domain + "/" + $username
write-host "`n"
foreach($server in (gc .\servers.txt)){
$i= 0
$Boo= 0
if (Test-Connection $server -Count 1 -Quiet) {

$computer = [ADSI](”WinNT://” + $server + “,computer”)
$Group = $computer.psbase.children.find(”Administrators”)
$members = @($group.psbase.Invoke("Members"))

$Check =($members | foreach {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}) -contains "$UserName"

If ($Check -eq $True) {
write-host "$server`t- Already Member" -foregroundcolor "yellow" }

else {

$computer = [ADSI](”WinNT://” + $server + “,computer”)
$Group = $computer.psbase.children.find(”Administrators”)
$Group.Add("WinNT://" + $domain + "/" + $username)

$mem = ($Group.psbase.invoke(”Members”) | %{$_.GetType().InvokeMember(”Adspath”, ‘GetProperty’, $null, $_, $null)}) `
-replace ('WinNT://DOMAIN/' + $server + '/'), '' -replace ('WinNT://DOMAIN/', 'DOMAIN\') -replace ('WinNT://', '')
$total = $mem.count

Foreach ($member in $mem) {
if ("$member" -eq "$Domain/$UserName"){
write-host "$server`t- Successfully Updated" -foregroundcolor "green"
$Boo = 1 }
$i=$i+1

If ($total -eq $i -And $Boo -eq 0) {
write-host "$server`t- Failed - User not exist or the server is not ready" -foregroundcolor "magenta" }

}
}

}
else {
write-host "$server `t- Failed to connect the Host Name" -foregroundcolor "Red" }


}
write-host "`n"

通过使用上述Powershell代码集,我可以将特定的域组添加到多个服务器中的本地管理组。但是,如果我从servers.txt中已经存在的一台服务器中的任何一个运行脚本,则该特定服务器将无法更新..任何人都可以指导我我所错过的..
提前致谢..

最佳答案

为所有服务器上的本地组的服务器管理员创建一个安全组。例如。 “ServerAdmins @ domain”。

使用GPO强制和限制本地管理员组成员身份。

当确定某个角色(RBA)在所有服务器(例如Windows Server Admins)上都需要ServerAdmin时,将该组添加到ServerAdmins组中。例如。 Windows管理团队。将您的管理员置于admins组中。

如果RBA组需要访问的是服务器的较小子集,则创建一个ExchangeServerAdmins组,然后将其添加到这些服务器的GPO中。 Exchange管理员将在Exchange管理员团队组中。 Exchange管理员团队归入ExchangeServerAdmins组。

这样,您可以控制哪些组可以通过基于角色的访问选择的GPO来访问服务器。对组中成员资格的控制是通过在适当的人可以编辑它们的地方存储这些组来控制的。您还可以通过使团队负责人成为其组的所有者来委派此任务。

这也允许临时权限。如果引入需要Exchange和Lync访问权限的顾问,则将他添加到这些团队中。当他离开时,把他带出去。只需进行一次编辑,一次编辑就可以在组成员资格级别上轻松完成。

当您开始谈论企业级管理时,这也大大减少了维护。如果您有10到20甚至200台服务器,则可以脚本化这些更改,但是如果您有1000台或更多服务器呢?

关于powershell - 将AD组添加到多台服务器上的本地管理组的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30271959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com