首页 > 系统 > Windows > 正文

win8系统文件无法删除提示需要管理员权限 如何获取管理员权限

2019-11-28 02:16:25
字体:
来源:转载
供稿:网友

相信不少使用win8系统的用户都遇到过这样一个问题,就是在删除一个文件的时候,怎么都删除不了,而且系统反复提示需要获取管理员权限才能执行操作,这到底是怎么回事呢?下面小编就为大家详细分析一下这个问题,并教大家一些解决方法,顺便再教大家如何一键获取管理员权限!

故障原因

微软从Vista系统开始,Administrator就不再是最高权限了,虽然默认的都是管理员权限,但是有些东西还是删除不了的。所以,引起无法删除的原因归根结底就是权限问题。

System权限

刚刚说了Administrator已经不再是最高权限了,那最高权限又是什么呢?这里引入System这个概念:系统内置的System权限是Windows系统中高于Administrator的权限,系统底层最高的权限是属于TrustedInstaller用户组权限,非人为可以设置的权限。

为何要引入System权限

这是因为微软充分考虑了Windows的安全和运行,把部分权限给了System用户组来管,最大程度上避免了XP系统时代用户管理员权限的滥用。

基本的信息就介绍完了,回到文章开头所说的,要解决这个问题,就必须借助System权限,问文件夹降权,从而达到删除的目的。

解决方法

右键-属性-安全-高级-上边中间 所有者 更改-高级-立即查找-找到你的用户(一般是最后一个)-确定-确定-确定
然后再次右键-属性-安全-左下添加-选择主体,找到你的用户,添加完全控制,确定确定确定
好,能删了

Window8系统中一键获取管理员权限的方法

新建一个.txt文本,将下面的代码复制粘贴到文件中,另存为或重命名为.reg文件,双击此文件或右键点合并此文件。

代码如下:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT/*/shell/runas]
@="一键取得超级管理员权限"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT/*/shell/runas/command]
@="cmd.exe /c takeown /f /"%1/" && icacls /"%1/" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f /"%1/" && icacls /"%1/" /grant administrators:F"
[HKEY_CLASSES_ROOT/exefile/shell/runas2]
@="一键取得超级管理员权限"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT/exefile/shell/runas2/command]
@="cmd.exe /c takeown /f /"%1/" && icacls /"%1/" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f /"%1/" && icacls /"%1/" /grant administrators:F"

[HKEY_CLASSES_ROOT/Directory/shell/runas]
@="一键取得超级管理员权限"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT/Directory/shell/runas/command]
@="cmd.exe /c takeown /f /"%1/" /r /d y && icacls /"%1/" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f /"%1/" /r /d y && icacls /"%1/" /grant administrators:F /t"Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT/*/shell/runas]
@="一键取得超级管理员权限"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT/*/shell/runas/command]
@="cmd.exe /c takeown /f /"%1/" && icacls /"%1/" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f /"%1/" && icacls /"%1/" /grant administrators:F"
[HKEY_CLASSES_ROOT/exefile/shell/runas2]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT/exefile/shell/runas2/command]
@="cmd.exe /c takeown /f /"%1/" && icacls /"%1/" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f /"%1/" && icacls /"%1/" /grant administrators:F"

[HKEY_CLASSES_ROOT/Directory/shell/runas]
@="一键取得超级管理员权限"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT/Directory/shell/runas/command]
@="cmd.exe /c takeown /f /"%1/" /r /d y && icacls /"%1/" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f /"%1/" /r /d y && icacls /"%1/" /grant administrators:F /t"
 

在要获得所有权限的文件或者文件夹上,右键,一键取得超级管理员权限,就可以在普通管理员帐户中,快速取得最高权限。
取得权限后,再运行程序,就与在超级管理员帐户中运行中是一样的。 

还有一种情况是由于有程序正在操作这个文件导致删除不了的情况,启用任务管理器结束该程序所有进程后再次尝试删除即可。 

启用管理员账户:运行gpedit.msc -- 计算机配置 -- Windows设置 -- 安全设置 -- 本地策略 -- 安全选项 -- 帐户: 管理员帐户状态 -- 双击打开属性 -- 启用 -- 确定.

Window8系统中强制删除文件的方法

在我看来,这种问题更一般的方法就是更改文件权限,右键文件--属性--安全--编辑。修改文件权限,如果提示无法修改权限,就先修改文件所有者,右键文件--安全--高级--所有者…… 然而当有不止一个这样的文件的时候,这样的操作就不实在了。所以再简单介绍两个工具:takeown 和cacls

takeown 以重新分配文件所有权的方式允许管理员重新获取先前被拒绝访问的文件访问权。

参数:

/S system 指定要连接到的远程系统。

/U [domain/]user 指定用户上下文,命令在此上下文中执行。

/P [password] 指定给定用户上下文的密码。如果省略,提示输入。

/F filename 指定文件名或目录名模式。可以用通配符 "*" 指定模式。允许共享名/文件名。

/A 将所有权给于管理员组,而不是当前用户。

/R 递归: 指示工具运行于指定的目录和子目录里的文件上。

/D prompt 当前用户在一个目录里没有"列出文件夹"权限时,使用默认答案。当在子目录里进行递归 (/R) 操作时会发生这种情况。用有效值 "Y" 获取所有权或用 "N" 跳过。

下面是几个常用的示例

TAKEOWN /F lostfile ::将lostfile所有权给当前用户

TAKEOWN /F directory /R /A ::递归的方式将directory 目录下文件所有权限给管理员组

TAKEOWN /F * ::将当前目录下所有文件所有权给当前用户

TAKEOWN /F %windir%/*.txt

cacls 用来显示或者修改文件的访问控制列表。

参数:

CACLS filename [/T] [/M] [/L] [/S[:SDDL]] [/E] [/C] [/G user:perm]

[/R user […]] [/P user:perm […]] [/D user […]]

filename 显示 ACL.

/T 更改当前目录及其所有子目录中指定文件的 ACL.

/L 对照目标处理符号链接本身

/M 更改装载到目录的卷的 ACL

/S 显示 DACL 的 SDDL 字符串。

/S:SDDL 使用在 SDDL 字符串中指定的 ACL 替换 ACL.(/E、/G、/R、/P 或 /D 无效)。

/E 编辑 ACL 而不替换。

/C 在出现拒绝访问错误时继续。

/G user:perm 赋予指定用户访问权限。

Perm 可以是: R 读取

W 写入

C 更改(写入)

F 完全控制

/R user 撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。

/P user:perm 替换指定用户的访问权限。

Perm 可以是: N 无

R 读取

W 写入

C 更改(写入)

F 完全控制

/D user 拒绝指定用户的访问。

在命令中可以使用通配符指定多个文件。

也可以在命令中指定多个用户。

缩写:

CI - 容器继承。ACE 会由目录继承。

OI - 对象继承。ACE 会由文件继承。

IO - 只继承。 ACE 不适用于当前文件/目录。

ID - 已继承。 ACE 从父目录的 ACL 继承。

例如:

cacls filename /E /P Administrators:F 将Administrators对filename的访问权限改为完全控制

cacls * /E /C /P Administrators:F 将Administrators对所有文件访问权限改为完全控制

通过这两个命令就可以批量获取文件的所有权,然后正常删除文件

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表