天天看點

托管服務賬号配置計劃任務背景具體操作1. 建立一個KDS Root Key2.建立一個安全組,然後把需要管理的計算機加進去,重新開機對應的計算機3. 建立gMSA賬号4. 安裝gMSA到主機上5. 配置計劃任務6. 測試

背景

豆子需要設定一個計劃任務然後用某個服務賬号運作。傳統的做法一般是建立一個服務賬号,配置對應的權限,然後設定密碼永不過期。這樣的安全隐患是密碼一直沒改變。Windows 2008的時候微軟推出了MSA(托管服務賬号),本質是繼承了計算機賬戶的特性,每次由計算機自動更換密碼,這樣完全不用管理人員的介入。但是當時MSA既不支援多台主機,也不支援計劃任務,更别說第三方軟體,是以實用性不大。Windows 2012以後,微軟推出了新版本的gMSA,終于可以支援多台主機和計劃任務了。gMSA每次改密碼是由DC上面的KDS服務管理的,每次通過一個root key id,時間戳以及gMSA的SID通過某個複雜的算法生成一個随機的密碼。注意這裡的gMSA中的g代表的是group,也是說我們需要配置設定一個安全組給這個托管賬戶,安全組裡面的所有計算機賬戶都可以去使用這個托管賬戶

具體操作

1. 建立一個KDS Root Key

托管服務賬号配置計劃任務背景具體操作1. 建立一個KDS Root Key2.建立一個安全組,然後把需要管理的計算機加進去,重新開機對應的計算機3. 建立gMSA賬号4. 安裝gMSA到主機上5. 配置計劃任務6. 測試

注意!建立以後,需要等待10個小時讓所有的DC同步

2.建立一個安全組,然後把需要管理的計算機加進去,重新開機對應的計算機

托管服務賬号配置計劃任務背景具體操作1. 建立一個KDS Root Key2.建立一個安全組,然後把需要管理的計算機加進去,重新開機對應的計算機3. 建立gMSA賬号4. 安裝gMSA到主機上5. 配置計劃任務6. 測試

3. 建立gMSA賬号

托管服務賬号配置計劃任務背景具體操作1. 建立一個KDS Root Key2.建立一個安全組,然後把需要管理的計算機加進去,重新開機對應的計算機3. 建立gMSA賬号4. 安裝gMSA到主機上5. 配置計劃任務6. 測試

建立成功以後可以在Management Service Accounts這個容器下看見對應的賬号

托管服務賬号配置計劃任務背景具體操作1. 建立一個KDS Root Key2.建立一個安全組,然後把需要管理的計算機加進去,重新開機對應的計算機3. 建立gMSA賬号4. 安裝gMSA到主機上5. 配置計劃任務6. 測試

4. 安裝gMSA到主機上

登入到對應的主機上面,執行下面的指令

托管服務賬号配置計劃任務背景具體操作1. 建立一個KDS Root Key2.建立一個安全組,然後把需要管理的計算機加進去,重新開機對應的計算機3. 建立gMSA賬号4. 安裝gMSA到主機上5. 配置計劃任務6. 測試

基本的安裝就完成了。下面就可以用這個gMSA賬号來配置服務或者計劃任務了

5. 配置計劃任務

一個很惡心的地方是,圖形界面不支援gMSA的配置。如果直接查找對應的賬号,他會報錯 說不存在

托管服務賬号配置計劃任務背景具體操作1. 建立一個KDS Root Key2.建立一個安全組,然後把需要管理的計算機加進去,重新開機對應的計算機3. 建立gMSA賬号4. 安裝gMSA到主機上5. 配置計劃任務6. 測試

正确的方式是全程通過PowerShell實作

$F = "c:\scripts\syncErrornotification.ps1"

#The first command uses the New-ScheduledTaskAction cmdlet to assign the action variable $A to the executable file tskmgr.exe
$A = New-ScheduledTaskAction -Execute "C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" -Argument "-noexit -ExecutionPolicy Bypass -File $F"

#The second command uses the New-ScheduledTaskTrigger cmdlet to assign the trigger variable $T to the value AtLogon
$T = New-ScheduledTaskTrigger -daily -At 7am

#The third command uses the New-ScheduledTaskSettingsSet cmdlet to assign the settings variable $S to a task settings object
$S = New-ScheduledTaskSettingsSet -Compatibility Win8 -ExecutionTimeLimit 3600 -ThrottleLimit 2
#The fourth command assigns the principal variable to the New-ScheduledTaskPrincipal of the scheduled task, domainname\gMSA_account$
$P = New-ScheduledTaskPrincipal -UserId omnicom\svc-it$ -LogonType Password -RunLevel Highest

#The fifth command sets the description varible to $D for the task definition
$D = "Office365 Sync Errors"

#Register the scheduled task
Register-ScheduledTask test -Action $A -Trigger $T -Principal $P -Description $D           

該主機上還需要授予執行腳本的權利,點開gpedit.msc, 添加對應logon as batch job的權限

托管服務賬号配置計劃任務背景具體操作1. 建立一個KDS Root Key2.建立一個安全組,然後把需要管理的計算機加進去,重新開機對應的計算機3. 建立gMSA賬号4. 安裝gMSA到主機上5. 配置計劃任務6. 測試

6. 測試