使用powershell从windows 10中删除本地用户和数据
我正在尝试从计算机中删除本地用户(名为Deltagare)。我需要删除使用powershell从windows 10中删除本地用户和数据,powershell,windows-10,file-permissions,file-access,Powershell,Windows 10,File Permissions,File Access,我正在尝试从计算机中删除本地用户(名为Deltagare)。我需要删除C:/Users/username中的帐户和与帐户关联的文件。以管理员身份运行脚本时,我遇到了获取拒绝访问事件的问题。该脚本在管理员帐户上运行。我已尝试通过使用takeown、icacls和Set Acl转移所有权,但在删除项目时仍被拒绝访问 Remove-LocalUser -Name "Deltagare" # Grant ownership here using takeown, icacls or
C:/Users/username
中的帐户和与帐户关联的文件。以管理员身份运行脚本时,我遇到了获取拒绝访问事件的问题。该脚本在管理员帐户上运行。我已尝试通过使用takeown
、icacls
和Set Acl
转移所有权,但在删除项目时仍被拒绝访问
Remove-LocalUser -Name "Deltagare"
# Grant ownership here using takeown, icacls or Set-Acl
Remove-Item -Path "\\?\C:\Users\Deltagare" -Recurse
如何使用Powershell删除此文件夹?关于如何取得所有权或者我需要以另一种方式删除用户,有什么想法吗?在我看来,这是使用CIM/WMI最简单的方法。但是,您可能希望在删除用户帐户之前删除它
Get-CimInstance -ClassName Win32_UserProfile |
Where-Object { $_.LocalPath.EndsWith($UserName) } |
Remove-CimInstance -WhatIf
当然,删除-Whatif
参数可以实际删除配置文件
按SID进行过滤可能比按本地路径中的用户名进行过滤更好。我认为,使用CIM/WMI这是最简单的。但是,您可能希望在删除用户帐户之前删除它
Get-CimInstance -ClassName Win32_UserProfile |
Where-Object { $_.LocalPath.EndsWith($UserName) } |
Remove-CimInstance -WhatIf
当然,删除-Whatif
参数可以实际删除配置文件
按SID进行筛选可能比按本地路径中的用户名进行筛选更好。以下是一种获取SID并使用SID删除配置文件的方法。这将同时处理文件夹和它的注册表项
$sid = get-ciminstance win32_useraccount | where name -eq myuser | % sid
get-ciminstance win32_userprofile | where sid -eq $sid | Remove-CimInstance -whatif
下面是一种获取sid并使用sid删除配置文件的方法。这将同时处理文件夹和它的注册表项
$sid = get-ciminstance win32_useraccount | where name -eq myuser | % sid
get-ciminstance win32_userprofile | where sid -eq $sid | Remove-CimInstance -whatif
删除本地帐户听起来像是一项任务,但它至少包括以下三个步骤:
函数完全删除localusers{
Param(
[参数(ValueFromPipelineByPropertyName)]
$Name
)
过程{
$user=Get LocalUser-Name$Name-ErrorAction停止
#从帐户数据库中删除该用户
删除LocalUser-SID$user.SID
#删除用户的配置文件(配置文件目录和注册表中的配置文件)
获取CimInstance-类Win32_UserProfile |?SID-eq$user.SID |删除CimInstance
}
}
#用法示例:
完全删除LocalUserName“myuser”
您可以在中阅读有关删除本地用户帐户/配置文件的更多信息。删除本地帐户听起来像是一项任务,但它至少包括以下三个步骤:
函数完全删除localusers{
Param(
[参数(ValueFromPipelineByPropertyName)]
$Name
)
过程{
$user=Get LocalUser-Name$Name-ErrorAction停止
#从帐户数据库中删除该用户
删除LocalUser-SID$user.SID
#删除用户的配置文件(配置文件目录和注册表中的配置文件)
获取CimInstance-类Win32_UserProfile |?SID-eq$user.SID |删除CimInstance
}
}
#用法示例:
完全删除LocalUserName“myuser”
您可以在中阅读有关删除本地用户帐户/配置文件的更多信息。您可以阅读以下博文:您可以阅读以下博文:有时本地路径以“.001”等结尾。@js2010。这就是我推荐SID查找的原因之一。有时localpath以“.001”等结尾。@js2010。这就是我推荐SID查找的原因之一。