Что ж, у вас будет несколько проблем с этим, поскольку NTUSER.dat загружается в память, если используется пользователь.Таким образом, вы не можете скопировать свой собственный NTUSER.dat, когда вы вошли в компьютер.Также, если есть служба, работающая под именем пользователя, вы не сможете получить эти эфиры.
Итак, давайте рассмотрим, что вы хотели и почему вам это не нужно.
1 Поиск всех c: \ users \ ntuser.dat и отображение *: нет необходимости отображать исходный файл.Вам просто нужно показать копию.
2 Переименуйте все ntuser.dat, указав имя папки : Нет необходимости переименовывать исходный файл, только копию.
3 Копирование всех недавно переименованных файлов ntuser.dat в новую папку. : Само Копирование позволяет вам называть файл по вашему желанию без первых двух шагов.
4 Переименование всех файлов ntuser.dat.в c: \ users возвращается к нормальной работе : нет необходимости в этом шаге ether, поскольку исходные файлы никогда не переименовывались.
Function Copy-NTUser($SavePath){
Get-ChildItem C:\Users\ -Directory | %{
$Name = $_.Name
Get-ChildItem "$($_.FullName)\ntuser.dat" -File -force -ErrorAction SilentlyContinue | %{
$FullName = $_.FullName
try{
Copy-Item -Path $_.FullName -Destination "$($SavePath)\$($Name)_$($_.name)" -Force -PassThru | %{
$_.Attributes = $_.Attributes -bxor [System.IO.FileAttributes]::Hidden
}
}catch{
"$($FullName) could not be copied as its currently in use."
}
}
}
}
Copy-NTUser -SavePath C:\Test\NTUSER