Windows-Server-2003

使用一次性使用帳戶或腳本重新啟動 Exchange Server

  • January 31, 2011

不確定這是否是實現這一目標的最佳方式,但這是背景和目標。

背景我們是一家小型企業。有時我自己或其他能夠處理電子郵件中斷的人不可用….通常就像重新啟動舊的和疲憊的交換箱一樣簡單,使其重新上線…這顯然是一個臨時修復直到我能找到特定中斷的原因。但這個想法是為了限制我們呼叫中心由此造成的停機時間。

目標:我想設置一個一次性使用的管理員帳戶。或者編寫一個腳本,允許使用者簡單地重新啟動伺服器。

了解此使用者目前帳戶僅限於域使用者,而不是任何類型的管理員。

一次性使用帳戶的**附加資訊想法是使用者可以使用一次。**登錄進行更改,一旦完成並註銷,該帳戶就會被鎖定或更改密碼或被禁用。任何阻止他們再次使用它的方法。這樣,使用者就有責任將其僅用於緊急情況和預期目的,而不是作為調整其有限帳戶或安裝軟體等的簡單方法。

至於腳本,我知道由於標準使用者的權限有限,該使用者將無法使用他們目前的權限遠端在交換框上執行 PSSHUTDOWN.EXE。所以我們必須想出一個好的方法來讓使用者重新啟動。應該是一個簡單的 VB 腳本,這不是問題。我的問題是創建某種形式的安全性,允許他們輸入密碼以開始該過程。如果您可以在腳本中包含停止服務,則可以加分。一旦我看到你如何實現第一個,我就可以填寫其他的東西。net stop “Microsoft Exchange 資訊儲存”

我覺得第二個計劃似乎更安全。這樣我就可以默默地使用安全性。不要告訴他 RDP 埠,也不要讓他實際在系統上,更重要的是使用密碼來啟動重新啟動。

因此,非常感謝您在這方面的幫助。或者總是歡迎其他建議。

這很笨拙,但這可能會奏效……

在其他機器上設置計劃任務以通過特定使用者啟動 psshutdown。授予你的走狗足夠的權利來啟動任務。不要給它一個時間表。當 Exchange 需要被撓痒癢時,他們可以右鍵點擊執行它。

不利的一面是他們可以隨時這樣做,但這是他們所能做的。

使用 PowerShell 我認為這應該可以工作,儘管出於明顯的原因我根本沒有對此進行測試。我建議創建一個交換管理員帳戶,將其添加到交換伺服器的本地管理員組。在 AD 中授予此帳戶對其自身的完全權限(我實際上不確定預設情況下使用者帳戶是否能夠自行禁用)。然後將下面的 PowerShell 腳本保存在網路上,並將一個快捷方式 CMD 文件放在要執行它的任何人的桌面上。向他們展示如何使用“以其他使用者身份執行”功能(右鍵點擊時按住 shift)。CMD 文件只需要:

電源外殼 。\server\share\script.ps1

PowerShell 腳本可以很短:

# Stop the service
(get-wmiobject win32_service -filter "name='Spooler'" -computername ComputerName).StopService()

# check service status
# Add a While loop if needed
(get-wmiobject -query "select * from win32_service where name='Spooler'" -computername ComputerName).state # this will return the state of the named service


restart-computer -computername ExchangeServerName

# Import ActiveDirectory module
Import-Module active*

# disable the account
# substitute $username with the newly created account
# or perhaps with $env:USERNAME using RunAs might work right...
set-user $username -Enabled $false

使用者可以擁有密碼,因為一旦執行此腳本,它將禁用該帳戶,直到您或具有適當憑據的使用者可以重新啟用它。

此外,出於安全目的,您可能希望將該新帳戶放入策略中,以防止其以互動方式或其他方式登錄。在應用到的 GPO 中

$$ perhaps all workstations and server $$:電腦配置\Windows 設置\安全設置\本地策略\使用者權限分配*拒絕本地登錄拒絕通過遠端桌面服務登錄*

引用自:https://serverfault.com/questions/229279