Windows 7 Error: The user profile service failed the logon. User profile cannot be loaded

Background

I Came home today and tried logging in to my Windows 7 PC and got the following error: The user profile service failed the logon. User profile cannot be loaded.

I initially felt a little panic as this was the first time that Windows 7 had ever given my any real trouble.

Steps 1-15 Below Fixed My Windows 7 User Profile Issue

If there is another administrator account that you can log into, then jump to step 7 after logging into that account. However, if you can’t get to any accounts at all, then start at step 1.

1. Restart your computer and hit F8 multiples times until you see a menu-like screen, if you see the Windows splash screen then repeat this step
2. Highlight and hit enter on Safe Mode with Command Prompt. Try logging in there. If it still doesn’t work, then go to step17
3. If you are able to login, once a command prompt pops up, type: net user administrator password /active:yes (you can specify whatever password you want for the administrator account.)
4. If you get a message saying “The command completed successfully”, then restart your computer by typing: shutdown -r
5. Boot up again pressing F8, but this time choose just Safe Mode.
6. You will be able to login as Administrator with the password you set in Step 3
7. Hit (windows logo)+R
8. Type regedit
9. Once the registry editor opens up, look for HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
10. In the left pane, find the one that starts with S-1-5….. and ends with .BAK; if you don’t find one, skip to step 15
11. Right click it and click Rename, then change the .BAK to .BK
12. Right click the one with the same numbering but without the .BAK and add .BAK add the end
13. Right click the one that you renamed to .BK and clickRename, delete the .BK
14. Eventually, you have switched the .BAK from the end of the second entry to the first. That should probably fix your problem.
15. If you didn’t find a .BAK then try this: Open Windows Explorer to C:\Users\Default\AppData\Local\Application Data
16. If you find another Application Data below the one you’re on, then delete it. That should probably also fix your problem.
17. If you can’t login in Safe Mode, then reboot and hit F8 until you see the menu again, then hit enter highlightingRepair Your Computer
18. Wait until all Windows Files finish loading, then hitNext when it asks keyboard language.
19. Try logging in here also, choose your user from the dropdown menu, and type the password, then jump to step 23
20. If that still doesn’t work, then if you have your Windows Installation CD still, put it in and restart your computer.
21. Hit F12 until you see a menu of boot options, choose Boot from CD
22. Choose keyboard language then hit next. Find Repair Your Computer from a little below the center left.
23. Choose Open Command Prompt and type: net user administrator password /active:yes (here again you can specify a password)
24. Close the command prompt and click Restart and jump to step 5

To disable the administrator account, type this in an elevated command prompt: net user administrator /active:no

Thanks to Roi A. for posting this on answers.microsoft.com.

PowerShell: Looping Through a List of Servers and Copying Files

I’m new to Windows PowerShell and have been wanting to learn it for some time now.  I finally had a situation come up the other day that I thought might be a good excuse to sit down and write my first PowerShell script.

The scenario:

I have three different servers running the same application.  There is application data on each server that needs to be backed up and stored in a folder named in a date format but it is not necessarily the date the script is run. 

The folder structure is exactly the same on each server.  I needed a script that could make a new folder to store the backed up data. 

I prompt the user to name the new folder defined on 3 different servers and copy files from another folder to this new folder, essentially creating a backup of data from a root folder to the new folder.

PowerShell Script Example: Looping through a list of servers

#  Script name:    Backup_Data.ps1
#  Created on:     2010-05-14
#  Author:         Rick Cable
#  Purpose:        Backup Files

#new folder name in date format mm-dd-yy
$NewFolderName = "" #Stores the name of the folder 
#Create array of Servers
$Servers = @("Server1","Server2","Server3")
$ServerName = @("Server 1 Description","Server 2 Description","Server 3 Description")

#Prompt user to enter the new folder name
$NewFolderName = read-Host "Enter the name of the new folder in date format mm-dd-yy"

#Function to process the files for each server in the array list.
Function Backup {

#Loop throug each of the servers
for ($i = 0; $i -le $Servers.length -1; $i++) 
{
write-Host $Servers[$i]
$BasePath = "\\" + $Servers[$i] + "\Share\"
$DonePath = $BasePath + "\Backup\" + $NewFolderName + "\"

if (test-Path $DonePath)  'if folder already exists
{        
write-Host "Copying files for" $ServerName[$i]
$FilePath = $BasePath + "*.dfm"
Copy-Item $FilePath $DonePath
write-Host "Copying log files"
$FilePath = $BasePath + "*.log"
Copy-Item $FilePath $DonePath
write-Host "Copying txt files"
$FilePath = $BasePath + "*.txt"
Copy-Item $FilePath $DonePath

write-Host "Files Copied"
} 
else
{
[IO.Directory]::CreateDirectory($DonePath)

write-Host "Copying files for" $ServerName[$i]
$FilePath = $BasePath + "*.dfm"
Copy-Item $FilePath $DonePath
write-Host "Copying log files"
$FilePath = $BasePath + "*.log"
Copy-Item $FilePath $DonePath
write-Host "Copying txt files"
$FilePath = $BasePath + "*.txt"
Copy-Item $FilePath $DonePath

write-Host "Folder Created and Files Copied"
}

}
}

#Run the function   
Backup