為網域使用者建立安裝程序

為網域使用者建立安裝程序

我已經為某事苦苦掙扎有一段時間了。老闆想要我們的文件伺服器中有一個目錄,他將在其中放置程式安裝文件,所有文件都可以讀取,並且只有他可以修改。

他希望客戶端工作站有一個腳本來讀取目錄並向使用者顯示其中有哪些檔案。然後,作為普通網域使用者(無法安裝任何內容)的使用者將能夠按一下安裝並安裝它。

背後的想法是讓本機管理員位於使用者工作站,並讓腳本知道本機管理員的密碼,然後使用這些本機管理員憑證在使用者電腦上安裝程式。

這是一個非常有問題的問題,因為我不知道如何在不將本機管理員密碼儲存在腳本中的情況下保護它,這是一件非常糟糕的事情。

我試圖考慮以某種方式加密密碼並將腳本轉換為可執行文件,但我看不出對計算機有一點了解的用戶無法反編譯可執行文件的方法。如果我使用 PowerShell 加密,它將只適合一台機器和一個使用者。

然後我想到了另一種方法:從客戶端工作站呼叫檔案管理器,然後讓檔案管理器使用 psexec 回傳給用戶,但這太義大利麵了。

然後我考慮使用調用命令從用戶的電腦到文件管理器進行調用,然後從文件管理器返回到用戶,但我需要允許所有客戶端使用 WinRM。

我為此使用 PowerShell。也許這裡有人做過類似的事情,並且可以建議我如何安全地做到這一點。

第一個選項效果很好,所以如果可能的話我想堅持使用它,但我必須弄清楚如何保護這個東西,而不僅僅是將憑證放入使用者電腦上的 PowerShell 腳本中。

答案1

我看到兩種方法。

  1. 換個老闆吧他顯然不知道他要求的任務到底有多複雜,總是細節,我懷疑他是否看過這些細節。 Windows 安裝的詳細掌握非常困難。

還在讀書嗎?好的。可以辦到。

  1. 關鍵點是在後台將腳本作為「計劃任務」運行。當您為每台電腦設定新的「排程任務」時,系統會提示您輸入該任務應使用的使用者名稱和密碼。您在此傳遞您的安裝帳戶憑證。密碼事後無法找回,因此可以認為是安全的。這個「排程任務」現在擁有完全的管理權限,如果您使用網域使用者帳戶(在客戶端上授予它管理員權限,並且在伺服器上僅授予使用者權限),您的腳本可以輕鬆地透過網路存取安裝文件並觸發安裝。

但請注意,許多安裝程式相當愚蠢,它們將安裝程式供安裝程式的使用者(即您的安裝程式使用者)使用,而不是供在前台登入的使用者使用。某些安裝程序可以參數化以安裝到“所有用戶”,這可能會做,對於其他安裝程序,您必須使腳本更智能,以便它可以添加“所有必需的設置,許可證(!),圖標,無論程式需要什麼軟體安裝程式完成後,請「執行」到前台使用者的設定檔中。

絕對沒有合法的方法讓使用者帳號執行任務。如果有任何方法可以讓使用者在不知道管理員密碼或管理員授予管理權限的情況下將其權限提升為管理員,那麼任何使用者都可以隨時執行任何操作,這幾乎相當於始終以管理員身份執行所有用戶帳戶。

  1. 現在您需要一些額外的腳本,Web GUI,無論您喜歡什麼,它都可以讓使用者從伺服器上的軟體中進行選擇,可能會檢查使用者是否有權安裝該軟體,以及可能會檢查使用者的電腦是否滿足此要求安裝(硬體?可用磁碟空間?...)成功。然後,您必須將該資訊儲存在背景安裝程式可以讀取的位置。伺服器上的一個簡單列表就可以了。

  2. 最後,後台腳本將定期存取該清單並觸發安裝程式。

完畢。

讓我說,您想要的是編寫一個自動化軟體分發工具。有一些商業工具可以做到這一點,其中一個甚至是內建的 Windows Active Directory 並且免費提供。我不知道開發人員在每個專案中投入了多少年和金錢,才達到他們的安裝程式掌握各種 Windows 軟體使用的許多安裝程式變體中的許多(大部分?全部?一些?)的程度。起初,它們對每個客戶來說可能看起來很昂貴,但我懷疑您能夠在 Powershell 中製作的任何內容在成本、可靠性、功能、文件和社群支援方面擊敗任何商業解決方案。

答案2

這聽起來像是群組原則軟體部署的工作。這解決了使用者缺乏管理權限的問題。

經過出版一個軟體包,它將使用戶可以在控制面板下使用該軟體(而不是僅僅自動安裝它)。

從最終用戶的角度來看:

設定

  1. 請參閱微軟的指南這裡(舊文章但仍相關)。跟著 ”發布包”部分而不是“分配包”。
  2. 為 GPO 和「軟體儲存庫」共享委派適當的權限。您可以專門為此建立一個安全群組,稱為可選軟體管理員例如,並將您的老闆加入為成員。 確保 ACE 適用於該對象和所有後代對象: 授予調整可選軟體管理員對軟體資料夾的 NTFS 權限:
  3. 透過執行以下提升的 PowerShell 指令在老闆的電腦上安裝群組原則管理控制台:
Add-WindowsCapability -名稱“Rsat.GroupPolicy.Management.Tools~~~~0.0.1.0”-在線

從現在開始,您的老闆準備開始將安裝程式複製到軟體共享並相應地修改軟體部署 GPO(不過,他最初需要指導)。而且這一切都不需要本地電腦或網域管理員權限,並且為所有參與者提供(相當)簡單的體驗!

您甚至可以透過直接推出通往他們需要去的地方的快捷方式,使最終用戶和您的老闆的事情變得更容易。如果需要擴展到更多管理使用者或您的老闆在多台電腦上漫遊,群組原則管理控制台的安裝也可以自動化。

相關內容