Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用powershell从windows 10中删除本地用户和数据_Powershell_Windows 10_File Permissions_File Access - Fatal编程技术网

使用powershell从windows 10中删除本地用户和数据

使用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

我正在尝试从计算机中删除本地用户(名为Deltagare)。我需要删除
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查找的原因之一。