各位前輩們好
目前客戶碰到一個狀況是需要將2008R2的本機帳號密碼移轉到2012上
小弟只有察看到以下這篇文章
但這篇文章只能針對同windows server版本的帳號密碼進行匯出匯入
想請問各位前輩們有甚麼方式可以將2008R2的本機帳號密碼移轉到2012上呢
將Server2008虛擬化一份
直接將副本就地升級成Server2012
參考網址:https://docs.microsoft.com/zh-tw/windows-server/upgrade/upgrade-2008r2-to-2012r2
以上只是理論,我並沒有實際操作過,所以請用測試環境。
若不能採用虛擬機應用,在測試成功後回頭將正式機升級即可
Windows 密碼無法被匯出, 因為他根本沒有存入原始密碼, 他存的是 Hash, 而 Hash 無法被反解出原始密碼, 所以也無法幫你匯出原始密碼...(至於為何不保存密碼卻可以驗證身分, 請自行研讀關於密碼與 Hash 的關係和 Windows 驗證原理)
你找的那篇文章, 其實也不會幫你匯出密碼, 請留意文內的步驟, Migrate 執行過程中, 他會自動強制開啟 User must change password at next logon 功能, 也就是強迫要求所有用戶第一次登入的時候, 都必須重新設定一次密碼. 所以他其實並沒有幫你保留密碼, 而是要求使用者自己重新輸入一次...
2008 R2 下這個 Powershell 指令可以匯出成 CSV:
get-wmiobject -class win32_useraccount | Select-Object Caption, FullName, Name, Description | export-csv c:\users\you\documents\accounts.csv
匯出後, 自己在 CSV 內新增一個 Password 欄位填入每個帳號的密碼;
2012 用這段程式可以匯入 CSV 當 local account:
Import-Module -Name LocalUserModule
If(!(Test-IsAdministrator)) { “This module requires admin rights.” ; exit }
New-LocalGroup -GroupName testgroup -description “for 100 users”
Import-Csv c:\users\you\documents\accounts.csv | Foreach-Object {
New-localuser -username $_.username -password $_.password
}
Remove-Module -Name LocalUserModule
您好
謝謝您的回覆
請問第二段指令要怎麼用程式方式去執行呢
我這邊是將它編輯成PS1檔案 但是會無法執行