Fl-organizzazzjoni fejn naħdem, ix-xogħol mill-bogħod huwa pprojbit fil-prinċipju. Kien. Sal-ġimgħa li għaddiet. Issa kellna nimplimentaw b'mod urġenti soluzzjoni. Minn negozju - l-adattament tal-proċessi għal format ta 'xogħol ġdid, minna - PKI b'kodiċijiet PIN u tokens, VPN, logging dettaljat u ħafna aktar.
Fost affarijiet oħra, kont qed inwaqqaf Remote Desktop Infrastructure aka Terminal Services. Għandna diversi skjeramenti RDS f'ċentri tad-dejta differenti. Wieħed mill-għanijiet kien li jippermetti lill-kollegi minn dipartimenti tal-IT relatati biex jikkonnettjaw mas-sessjonijiet tal-utenti b'mod interattiv. Kif tafu, hemm mekkaniżmu standard RDS Shadow għal dan, u l-eħfef mod biex tiddelega huwa li tagħti drittijiet ta 'amministratur lokali fuq servers RDS.
Nirrispetta u nivvalorizza lill-kollegi tiegħi, imma jien rgħiba ħafna meta niġu biex nagħti d-drittijiet tal-amministratur. 🙂 Għal dawk li jaqblu miegħi, jekk jogħġbok segwi l-qatgħa.
Ukoll, il-kompitu huwa ċar, issa ejja nibdew għan-negozju.
Pass 1
Ejja noħolqu grupp ta 'sigurtà fl-Active Directory RDP_Operaturi u inkludi fiha l-kontijiet ta’ dawk l-utenti li lilhom irridu niddelegaw id-drittijiet:
Jekk għandek diversi siti AD, ser ikollok bżonn tistenna sakemm tiġi replikata lill-kontrolluri tad-dominju kollha qabel ma tkompli għall-pass li jmiss. Dan normalment jieħu mhux aktar minn 15-il minuta.
Pass 2
Ejja nagħtu d-drittijiet tal-grupp biex jimmaniġġjaw is-sessjonijiet tat-terminal fuq kull wieħed mis-servers RDSH:
Set-RDSPermissions.ps1
$Group = "RDP_Operators"
$Servers = @(
"RDSHost01",
"RDSHost02",
"RDSHost03"
)
ForEach ($Server in $Servers) {
#Делегируем право на теневые сессии
$WMIHandles = Get-WmiObject `
-Class "Win32_TSPermissionsSetting" `
-Namespace "rootCIMV2terminalservices" `
-ComputerName $Server `
-Authentication PacketPrivacy `
-Impersonation Impersonate
ForEach($WMIHandle in $WMIHandles)
{
If ($WMIHandle.TerminalName -eq "RDP-Tcp")
{
$retVal = $WMIHandle.AddAccount($Group, 2)
$opstatus = "успешно"
If ($retVal.ReturnValue -ne 0) {
$opstatus = "ошибка"
}
Write-Host ("Делегирование прав на теневое подключение группе " +
$Group + " на сервере " + $Server + ": " + $opstatus + "`r`n")
}
}
}
Pass 3
Żid il-grupp mal-grupp lokali Utenti tad-Desktop mill-bogħod fuq kull wieħed mis-servers RDSH. Jekk is-servers tiegħek huma kkombinati f'kollezzjonijiet ta 'sessjoni, allura nagħmlu dan fil-livell ta' ġbir:
Għal servers singoli nużaw politika tal-grupp, stennija li tiġi applikata fuq is-servers. Dawk li huma għażżien wisq biex jistennew jistgħu jħaffu l-proċess billi jużaw gpupdate antik tajjeb, preferibbilment ċentralment.
Biex tagħmel l-iskrittura PS konvenjenti biex titħaddem, aħna se noħolqu qoxra għalih fil-forma ta 'fajl cmd bl-istess isem bħall-iskrittura PS:
RDSManagement.cmd
@ECHO OFF
powershell -NoLogo -ExecutionPolicy Bypass -File "%~d0%~p0%~n0.ps1" %*
Aħna npoġġu ż-żewġ fajls f'folder li se jkun aċċessibbli għal "maniġers" u nitolbuhom jerġgħu jidħlu. Issa, billi jmexxu l-fajl cmd, ikunu jistgħu jikkonnettjaw mas-sessjonijiet ta 'utenti oħra fil-modalità RDS Shadow u jġegħluhom joħorġu (dan jista' jkun utli meta l-utent ma jkunx jista 'jtemm b'mod indipendenti sessjoni "mdendlin").
Jidher hekk:
Għall-"maniġer"
Għall-utent
Ftit kummenti finali
Sfumatura 1. Jekk is-sessjoni tal-utent li qed nippruvaw niksbu l-kontroll tagħha ġiet imnedija qabel ma l-iskrittura Set-RDSPermissions.ps1 ġie esegwit fuq is-server, allura l-"maniġer" se jirċievi żball ta 'aċċess. Is-soluzzjoni hawnhekk hija ovvja: stenna sakemm l-utent immaniġġjat jidħol.
Sfumatura 2. Wara diversi jiem ta 'ħidma ma' RDP Shadow, innutajna bug jew karatteristika interessanti: wara t-tmiem tas-sessjoni ta 'dell, il-bar tal-lingwa fit-trej tisparixxi għall-utent li jkun konness ma', u biex terġa 'lura, l-utent jeħtieġ li jerġa'. -Idħol. Kif jirriżulta, aħna mhux waħedna: ħin, два, 3.
Dak kollox. Nixtieq lilkom u lis-servers tiegħek saħħa tajba. Bħal dejjem, nistenna bil-ħerqa l-feedback tiegħek fil-kummenti u nitlobkom tieħu l-istħarriġ qasir hawn taħt.