執行 powershell/batch 腳本新增使用者後無法登入

執行 powershell/batch 腳本新增使用者後無法登入

我們的(相當小的)環境有 Windows(8.1 和 7)計算機,其使用者帳戶具有管理員權限。為了解決這個問題,我決定編寫一個 powershell 腳本,該腳本將新增一個新的管理員帳戶並將目前帳戶降級。運行後,我無法再登入任何內容。腳本很簡單:

If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{   
    Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs;
    exit
}

net user local_admin SuperSecurePassword /add /comment:"comment" /expires:never 
net localgroup "Administrators" local_admin /add

net localgroup "Administrators" "$env:username" /delete

Read-Host -Prompt "Enter!"

首先,它從提升的 PS 執行個體重新啟動(取自 SE 上的一個熱門問題),然後自行執行命令。

所有命令均報告執行成功(「命令成功」或類似內容)。但是,我無法再登入系統(不能使用新設定文件,不能使用舊設定文件),並顯示以下錯誤訊息:

The User Profile Service service failed the logon. User profile cannot be loaded.

我們沒有網域,只有一堆具有本機帳戶的電腦(我知道,我知道)。我究竟做錯了什麼?

答案1

事實證明,由於某種原因,我的預設設定檔資料夾 (Users\Default) 的存取權限不正確,因此 Windows 無法使用新建立的帳戶將其複製到新設定檔。修復後我成功登入了。

另一個問題是,在將使用者從管理員中刪除後,您必須將其新增至「使用者」群組。下面的行為我做到了這一點:

net localgroup "Пользователи" "$env:username" /add

相關內容