資訊無涯,回頭已不見岸

Vista變更SID的方法


前天去參加台灣微軟揪甘心的「Vista 回娘家」活動,收穫還頗多。但今天要提的不是課程內容,而是在最後的FAQ 討論...

有人在會中詢問Vista 應該如何更改SID,因為該公司在大量部署時有使用到KMS Server 及NewSID 工具,但卻發現一個很嚴重的問題;NewSID 看起來更改了SID,可是實際在KMS Server 上的使用仍有很多奇怪的問題。

針對這點,本場活動的講師-Eric Huang 及現場熱情支援的台灣微軟專案技術部副理-簡志偉先生有說明,雖然NewSID 這工具能在Vista 下使用,但實務上還是用Vista 內建的Sysprep 程式做更換SID 的動作比較正確

如果想在Vista 用NewSID 工具,一般人大概會先碰到無法存取SID 的錯誤訊息,
 

這是由於UAC的關係,所以改由系統管理員的身份再去執行,就會正常了
 

但是,為什麼會不建議在Vista 下使用,我後來終於發現原因了
 
在執行更換SID 的過程,程式會去更新系統及使用者的相關資訊,但是....自從Vista/Server 2008 開始,使用者的資料已經改存放在「C:Users」目錄之下。那這工具在Applying 啥鬼啊...

所以,正確更改SID 的方法應該是拿出Vista 內建的Sysprep 系統準備工具,
到 開始 -> 空白欄位裡輸入「sysprep」-> 按下Enter 鍵

接著系統會開啟「C:Windowssystem32sysprep」目錄,再執行sysprep 程式
 

開啟程式後請選擇OOBE模式,並務必勾選「一般化」,否則不會重新產生SID
然後,點選「確認」就收工啦

只是,我對這種方法還頗有微詞:
1. 只要選擇OOBE 模式,會在重開機後要求新增使用者,及重新命名電腦名稱。
假如在Sysprep 前,Vista 裡面已經有一個名為「User」的帳號,那麼在電腦重開會進入歡迎畫面,也就是準備新環境,此時就不能再建一個名為「User」的帳號,因為Sysprep 不會清除相關帳號資訊。

此外,再用「User」登入時,Vista 會重新產生設定檔(如圖示紅色圈選位置,藍色為Sysprep 前之設定檔),除非你用Sysprep 時沒有勾選「一般化」。

2. 驅動程式不會自動設定先前已安裝的。
我的測試環境是VMWare,原本在虛擬機器裡面已經安裝的「VMWare SVGA II」顯示驅動,在執行Sysprep 後,又變回了標準繪圖卡。

雖然上面這兩點很合理,因為一更改SID 後,舊有的使用者設定無法跟原始的SID 對應,勢必要重新產生。而且Sysprep 本來就是用來封裝Windows 並產生映象,重複供給組織或客戶群使用,所以不會自動安裝原環境的驅動。

但是,說實話....我只不過想要換個SID 而已,有必要這麼複雜嗎?
能不能拜託微軟再把NewSID 這麼好用的工具更新一下吧! 

5 則留言

  1. 秋天

    能不能把SID改成特定的??求教

    • AskaSu

      很抱歉,目前尚未看到有相關工具,
      如果有的話,我會盡快回應您及分享。

  2. 好力克

    手邊沒有vista 可試, 因您有vm的vista, 可否代測小弟的想法
    如果new sid 無法在vista 生效只是因為上述您說的路徑不同的話
    小弟的想法是:
    使用ntfs junction 功能將 c:\documents and settings 連接到 c:\users
    命令提示字元語法
    junction "c:\documents and settings" c:\users

    移除junction 方法
    junction -d "c:\documents and settings"

    如果測試ok, 可否告知
    感恩

    • AskaSu

      這方法恐怕也不可行,因為處理上似乎沒有這麼簡單,
      而且目前NewSID這支工具也已經被宣告終止,
      原因有寫在開發者的部落格文章裡:The Machine SID Duplication Myth

  3. Will 保哥

    這技巧同時也可以套用在 Windows Server 2008 或 Windows Server 2008 R2 嗎?

發佈回覆給「Edesssa」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

© 2024 蘇老碎碎唸

Theme by Anders NorenUp ↑