ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Win10内置Administrator启用、空密码与权限异常解析

Win10内置Administrator启用、空密码与权限异常解析 刚装好的Windows10很多人第一件事不是装驱动而是想把内置的Administrator账户放出来。理由特别朴素默认那个自己建的账户点什么都弹UAC确认框删个文件提示需要管理员权限改个hosts得右键以管理员身份运行连挪个系统目录里的文件夹都要来回点好几次。于是搜到一句net user administrator /active:yes敲下去账户是出来了可紧接着更离谱的事来了——某些程序装不上开始菜单里的应用点了没反应资源管理器里删除文件夹依然弹你需要来自administrators的权限才能删除甚至想给Administrator设个空密码系统甩回来一句用户账户限制可能原因不允许空密码。这套Windows10默认的鬼畜设置我前后折腾过好几轮也在虚拟机里翻来覆去验证过今天就把Administrator启用、任意密码含空密码设置、以及启用之后那一堆明明是管理员却没有管理员权限的怪现象一次讲清楚。1. 为什么Windows10的内置Administrator这么鬼畜1.1 内置Administrator和普通管理员账户权限模型完全不同这一点是后面所有问题的总根源先把概念掰开。你在装系统时创建的那个账户通常属于本地Administrators组成员但它运行的是一种被UAC过滤过的管理员令牌日常操作时系统只给它标准用户级别的令牌只有当你点了以管理员身份运行或者系统弹UAC确认框并得到许可后才会切换成完整管理员令牌。这套机制叫管理员批准模式Admin Approval Mode是Windows从Vista开始引入的核心安全设计。内置Administrator不一样。它是系统预设的超级管理员在默认配置下它不参与管理员批准模式登录后所有进程直接拿到完整管理员令牌全程不弹UAC。听起来很爽对吧但问题恰恰出在这——很多程序、组件的设计前提是当前用户是标准权限需要提升时走UAC流程当它发现当前进程已经是最高权限、又没有可用的提升通道时反而会走进一条异常分支表现出来的就是各种拒绝访问、闪退、点了没反应。提示内置Administrator和自己新建一个名为Administrator的账户完全是两码事后者的SID、权限模型都跟普通账户一样改名没用。用生活化的比喻普通管理员账户像公司里的部门主管平时拿普通门禁卡需要进机房时找保安登记换一张临时全通卡内置Administrator像老板手里本来就攥着全通卡。听起来老板更方便但很多机房门禁的刷卡逻辑写的是标准卡→登记→换卡检测到全通卡直接走默认分支结果反而进不去某些房间。这就是Administrator没有Administrator权限这个悖论的技术根子。1.2 你是管理员但你没有管理员权限这句话的真正含义把这句话拆成两个来源看才不会越搞越糊涂。第一个来源是令牌结构差异。启用内置Administrator并在其下登录后explorer.exe、浏览器、命令行全都是高完整性级别运行。这时候你右键一个exe菜单里以管理员身份运行可能压根不显示因为系统判断你现在已经是管理员身份了没必要再提升。可有些安装程序内部写死了检测到需要提升就重新拉起一个提升后的进程这个动作一旦提升链走不通安装就会失败报错五花八门最典型的是拒绝访问或者系统找不到指定路径。第二个来源是文件系统ACL与所有者。很多系统目录、组件目录的所有者是TrustedInstaller或者SYSTEMAdministrators组在这些目录上只有读取和执行权限没有写权限。这种情况下哪怕你用内置Administrator登录删除操作依然会被挡住提示你需要来自TrustedInstaller的权限才能对此文件夹进行更改。注意这不是账户权限不够而是对象本身的访问控制列表不给你写权限两者要分清楚。解决办法不是换账户而是改所有权和ACL后面第4节会详细讲。1.3 空密码为什么会被系统拦下来设置空密码失败通常会撞上两道闸。第一道是密码策略。本地安全策略里可以设置密码长度最小值和密码必须符合复杂性要求默认情况下长度最小值可能是0也可能是若干位取决于系统版本和镜像的默认配置。如果你执行net user administrator 被拒绝先用net accounts看一眼当前策略把最小长度改成0再试。第二道是空密码登录限制也就是热搜里那句用户账户限制可能原因不允许空密码。Windows有一个安全选项叫账户使用空密码的本地账户只允许进行控制台登录对应注册表HKLM\SYSTEM\CurrentControlSet\Control\Lsa下的LimitBlankPasswordUse默认值是1。它的含义是空密码账户可以在本地控制台上直接登录坐在电脑前敲回车进去但不允许进行网络登录、远程桌面登录、访问共享文件夹这类非控制台认证。很多人设完空密码发现远程桌面连不上、共享访问报错根子就在这里跟你账户有没有管理员权限一点关系都没有。注意这个限制是有意为之的安全设计不是bug。关掉它意味着同网段任何人都能用空密码账户访问你的共享资源风险自负。2. 动手前的准备环境差异、风险点和操作路径选择2.1 先确认你的系统版本和账户类型这一步很多人跳过结果卡在半路。Windows10家庭版和专业版在这件事上的差异非常实际家庭版没有lusrmgr.msc本地用户和组和gpedit.msc本地组策略编辑器你打开会直接报找不到文件。所以家庭版用户只能走命令行和注册表两条路专业版、企业版、教育版则三种都能用。第二个要确认的是账户类型。如果当前登录的是Microsoft账户那么net user administrator ...这类命令对它无效——net user操作的是本地账户数据库Microsoft账户在本地只是一个映射改密码要走系统设置里的账户页面。要改内置Administrator你得先有一个本地管理员账户或者用开机时Shift重启进修复模式下的命令行或者用安装介质启动到命令行环境操作离线系统。第三个是确认你的系统是物理机还是虚拟机。虚拟机里折腾这套东西风险低出问题直接还原快照物理机尤其是唯一一台主力机建议先创建还原点。创建还原点的命令是Checkpoint-Computer -Description before-enable-admin -RestorePointType MODIFY_SETTINGS在PowerShell管理员里执行或者用图形界面的创建还原点对话框。这一步花不了两分钟但能在你后面把权限改乱的时候救你一命。2.2 启用内置管理员的真实风险网上教程很少提这一层我自己的经验是必须说清楚。风险一UWP应用大面积失效。以内置Administrator身份登录后Microsoft Store里装的应用、系统自带的邮件、日历、相机、计算器这类基于AppContainer模型的应用大概率打不开点了闪退或者提示无法使用内置管理员账户打开。原因是AppContainer沙箱需要标准用户令牌来建立容器完整管理员令牌在容器创建时会被拒绝。风险二安全边界消失。所有进程以最高权限运行意味着任何一个带恶意代码的脚本、宏、下载器都不需要你点任何确认框就能直接改系统文件、写启动项、装驱动。日常使用机器长期挂这个状态等于把门拆了。风险三权限继承关系被破坏。用Administrator账户去改文件、装软件、挪目录新生成的对象所有者会记录成Administrator而非Administrators组。等你哪天想切回普通账户会发现一堆目录自己打不开又得挨个修ACL。我的建议是内置Administrator适合做应急维护、离线修复、临时排障不适合做日常主账户。如果你只是嫌UAC烦正确做法是调整UAC提示级别或者用自建管理员账户而不是启用内置管理员第3.5节会讲这个更优雅的方案。2.3 三条操作路径的取舍同一件事有三种走法我按适用场景排个序。路径具体入口适用版本优点缺点命令行cmd / PowerShell 管理员全部版本快、可脚本化、可远程需要知道命令报错信息不直观图形界面lusrmgr.msc专业版及以上直观、能看到所有账户状态家庭版没有注册表/组策略regedit、secpol.msc专业版及以上注册表全版本能改到系统没暴露的底层开关改错影响面大无撤销提示命令行这条最通用也是我实际排障时用得最多的因为远程协助、无人值守脚本、离线系统修复都只能靠命令行。图形界面适合你只是想看一眼账户到底启用没启用。注册表适合处理那些策略里找不到选项的偏门设置比如后面要讲的FilterAdministratorToken。3. 完整实操启用Administrator并设置任意密码3.1 命令行三分钟完成启用与改密前提用管理员身份打开命令提示符或PowerShell。WinX然后选Windows PowerShell(管理员)旧版本或者终端(管理员)新版本。第一步查看当前所有本地账户状态确认Administrator存在且处于禁用状态net user输出会列出本机所有本地账户名。想单独看Administrator的详细状态net user administrator重点看输出里账户启用这一行禁用状态会显示Account active No。第二步启用内置管理员net user administrator /active:yes执行成功会返回命令成功完成。。这一步只是把账户从禁用改成启用不改密码。此时Administrator是空密码状态因为它从未被设置过密码。第三步设置密码。想设成有内容的net user administrator YourPassword123想设成空密码net user administrator 如果第二条命令报用户账户限制可能原因不允许空密码或者类似的策略拒绝先执行清理策略net accounts /minpwlen:0 net accounts /maxpwage:unlimited再执行空密码设置。/minpwlen:0是把本地密码最小长度降到0/maxpwage:unlimited是取消密码最长使用期限避免账户密码到期被强制更换。实操心得net user administrator 里的引号不能省也不能写成两个单引号必须是一对半角英文双引号中间什么都不填。这个细节我第一次做的时候踩过写成了中文引号导致命令报参数错误。3.2 图形界面lusrmgr.msc的对应操作专业版用户如果想用鼠标操作WinR输入lusrmgr.msc回车打开本地用户和组。左侧点用户右侧能看到Administrator。双击它在常规选项卡里取消勾选账户已禁用点确定账户就启用了。想改密码右键该账户选设置密码弹窗会警告你这样做会丢失该用户的加密数据对内置管理员来说基本没影响点继续就行然后输入两次新密码。图形界面的好处是能直观看到密码永不过期这个勾选项建议勾上避免你哪天把机器放几个月不用回来发现账户密码过期进不去。命令行对应的做法是wmic useraccount where nameAdministrator set PasswordExpiresfalse或者用PowerShellSet-LocalUser -Name Administrator -PasswordNeverExpires $true家庭版用户注意lusrmgr.msc打不开但control userpasswords2老式用户账户对话框在部分版本里还能用它也能列出本地账户不过功能比lusrmgr弱改密码可以但改不了启用状态所以家庭版还是老实走命令行。3.3 设置空密码解除长度与复杂性限制先把账户当前状态和策略看清楚net accounts输出里关注这几个字段Minimum password length最小长度、Password history is not maintained是否记录密码历史、Maximum password age最大年龄。如果最小长度不是0改成0net accounts /minpwlen:0还有一个坑是密码历史。如果你之前给Administrator设过密码然后想改成一个用过的旧密码系统会因为记住最近的密码而拒绝。清掉历史net accounts /uniquepw:0注意/uniquepw的值不能小于/minpwlen顺序上先清长度再清历史或者两个一起给net accounts /minpwlen:0 /uniquepw:0策略放开之后net user administrator 基本就能成功了。命令成功时返回命令成功完成。验证一下net user administrator输出里密码上次设置和密码到期两行会显示具体状态空密码账户的密码上次设置时间可能还是老时间但密码栏不会有内容提示。3.4 解除空密码只能本地登录的限制前面说过空密码账户默认只能坐在本机登录远程桌面、网络共享、SMB访问都会被拒。如果你确实需要放开走这个开关按住WinR输入secpol.msc打开本地安全策略专业版及以上依次展开安全设置→本地策略→安全选项在右侧列表里找账户使用空密码的本地账户只允许进行控制台登录双击改成已禁用确定。家庭版没有secpol直接改注册表reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f改完不需要重启但已经建立的网络会话要断开重连才生效。想改回去就把/d 0换成/d 1再执行一次。注意这个开关一关同一局域网内任何知道有这台机器的人都可以用空密码的Administrator账户尝试访问你的共享目录。如果机器在咖啡厅WiFi、宿舍网、办公室公共网段强烈建议不要关。另外还有一个容易忽略的点空密码状态下登录界面不会要求你输密码直接点箭头就能进。但如果你给它设了密码又忘了重置密码需要借助安装介质或者PE环境下的utilman替换法比较折腾所以设密码前一定记牢。3.5 让内置管理员回到UAC批准模式FilterAdministratorToken这是解决内置管理员没管理员权限最核心的一招也是大多数教程漏掉的一步。前面说过内置Administrator默认绕过UAC批准模式导致部分需要提升链的程序不工作、UWP应用打不开。解决办法是强制让它也走一遍批准模式靠的是这个注册表值reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 1 /f同时确认EnableLUA是开启状态默认就是1reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA执行完必须重启才生效。重启后内置Administrator的权限模型就和普通管理员账户一致了日常操作标准令牌需要时弹UAC提升。这一改前面说的UWP应用打不开、以管理员身份运行菜单消失、某些装不上等问题基本都能缓解。但这里有个取舍要想清楚开了FilterAdministratorToken你启用内置管理员图省事不弹UAC的初衷就没了。如果你的目标就是永远不弹UAC框那就不要动这个值转而接受部分UWP应用不可用的事实如果你的目标是要一个纯正的管理员账户同时系统功能都正常那就打开它。我个人的选择是后者稳定优先。组策略里对应的位置是计算机配置→Windows设置→安全设置→本地策略→安全选项→用户账户控制用于内置管理员账户的管理员批准模式改成已启用效果一致专业版可以直接用图形界面点。4. 实测踩坑启用之后那些让人头大的现象4.1 UWP应用打不开、开始菜单失灵这是启用内置Administrator后第一个撞上的问题。表现是开始菜单能展开点Microsoft Store、邮件、日历、计算器要么直接闪退要么弹个框说无法使用内置管理员账户打开此应用要么干脆没反应。很多人第一反应是系统坏了其实是令牌模型引起的。按优先级排查第一确认是否走了3.5节的FilterAdministratorToken改完重启再看第二如果还是不行临时切回普通管理员账户验证应用是否正常能正常说明是账户模型问题而非系统损坏第三检查Windows License Manager Service、AppXSvc、ClipSVC这几个服务是否被优化软件关掉了这几个服务跟Store应用启动强相关被禁了在什么账户下都打不开。sc query AppXSvc sc query ClipSVC sc query TokenBroker三个服务的STATE都应该是RUNNING。如果是STOPPED先启动sc config AppXSvc start demand sc start AppXSvc注意start后面必须有空格这是sc config语法里一个很容易漏的细节写错会报参数无效。4.2 你需要来自administrators/TrustedInstaller的权限才能删除这个提示我见过太多次了原理前面提过不是你的账户权限不够是那个文件夹/文件的ACL里没有给你写权限或者所有者是TrustedInstaller、SYSTEM。解决方案不是换账户而是改所有者 授权。标准流程三步走。第一步取得所有权/r是递归/d y是自动回答是否替换目录权限的询问takeown /f D:\目标文件夹 /r /d y第二步把Administrators组的完全控制权限授予进去icacls D:\目标文件夹 /grant Administrators:F /t第三步如果还删不掉先重置继承关系再删icacls D:\目标文件夹 /reset /t /c对于所有者是TrustedInstaller的系统目录上面第一步之后所有者会变成Administrators就可以授权了。但要注意改系统目录的所有权和高权限ACL是有代价的Windows Update后续安装补丁时如果发现组件目录权限不对可能装不上报0x80070005之类的错误。所以这套操作我只建议用在D盘、用户目录、从别的机器拷过来的文件夹上系统盘下的Windows、Program Files、ProgramData慎动。实操心得批量处理一堆文件夹时takeown和icacls会很慢因为要遍历。可以先拿一个小目录测试确认命令写法对再扔到大目录上跑。另外路径里有空格一定要加引号中文路径其实没问题别被网上那些要改成英文路径的说法带偏。4.3 远程桌面0x204与空密码的网络访问失败搜索热词里出现了windows10远程桌面0x204这跟空密码是强关联的。0x204这个错误码对应的含义是由于安全设置错误客户端无法连接在空密码场景里最常见的原因就是上面说的LimitBlankPasswordUse在拦路——服务器端不允许空密码账户做网络认证所以远程登录直接被打回。除了放开LimitBlankPasswordUse还有几个连锁条件要一起满足账户必须有密码这是远程桌面最稳妥的路径。空密码账户做远程登录在当前版本的Windows里属于被重点限制的行为即使你把策略全放开也可能因为远程桌面自己的凭据校验逻辑失败。远程桌面功能本身要开启系统属性→远程→允许远程连接或者注册表HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server下的fDenyTSConnections设为0。防火墙要放行远程桌面这条入站规则。如果账户密码为空还要确认账户使用空密码的本地账户只允许进行控制台登录已经禁用。我的实际建议很直接要做远程桌面就别用空密码给Administrator设个强密码。空密码在本地控制台用用还行一旦涉及网络认证问题成堆得不偿失。真要图省事可以在远程桌面客户端保存凭据效果类似风险小得多。4.4 文件权限被改乱后的修复流程折腾Administrator的过程中权限被改乱是高频事故。典型症状普通账户登录后打不开某些自己创建的文件夹提示拒绝访问或者某个软件能运行但保存配置时报错。修复思路是先把所有权收回到Administrators再把继承关系恢复。以用户目录为例假设你以管理员身份操作takeown /f C:\Users\某用户 /r /d y icacls C:\Users\某用户 /reset /t /c/reset的作用是把ACL重置为从父容器继承的默认状态也就是把之前手动乱加的那些权限条目清掉恢复成系统默认。对用户目录来说默认继承会把该用户本身的权限带回来用户重新登录就能正常访问了。如果整台机器的权限都被搞乱比如你误操作把某个顶级目录的继承禁用了修复起来更麻烦建议直接用系统还原点回滚或者用sfc /scannow和DISM /Online /Cleanup-Image /RestoreHealth修复组件。这两条命令至少能保证系统组件层面的权限和文件完整性sfc /scannow DISM /Online /Cleanup-Image /RestoreHealthDISM跑完可能需要重启。这两条命令不解决用户数据目录的ACL问题但对系统目录的权限异常有修复作用。5. 常见问题速查表5.1 命令执行报错对照表把我在实机上遇到过的报错和对应处理整理成表遇到问题先在这张表里找。报错信息触发场景原因处理方式系统找不到指定的用户net user目标不存在用户名拼错或账户被删先net user列出全部账户名核对用户账户限制可能原因不允许空密码设空密码时密码长度/复杂性策略拒绝net accounts /minpwlen:0后重试拒绝访问改系统目录、装驱动时ACL无写权限或所有者为TrustedInstallertakeownicacls修权限你需要来自Administrators的权限才能删除删文件夹时对象ACL缺少当前用户写权限取得所有权后重新授权无法使用内置管理员账户打开此应用启动Store应用时完整管理员令牌导致AppContainer创建失败设FilterAdministratorToken1并重启参数无效sc config执行时start后缺空格改成start demand0x80070005Windows Update安装时组件目录权限被改过DISM修复镜像后重试更新命令成功完成但没有变化改策略后未重启或会话未重建重启后再验证5.2 出问题后的回退与恢复方案折腾之前想好怎么退出来比折腾本身更重要。回退第一步禁用内置管理员。如果你只是临时用用完就关net user administrator /active:no注意禁用前先确认你还有另一个可用的管理员账户否则重启后可能进不了系统。回退第二步恢复UAC相关注册表值。如果你改了FilterAdministratorToken造成别的程序异常把值删掉或改回0reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 0 /f回退第三步恢复空密码限制。把LimitBlankPasswordUse改回1reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v LimitBlankPasswordUse /t REG_DWORD /d 1 /f回退第四步系统级异常用还原点。系统还原不还原个人文件但会还原注册表、驱动、系统文件的快照对权限类事故有救。保命方案提前留一个本地管理员账户。命名不要用Administrator密码记牢权限归属Administrators组且不要设成空密码。这个账户就是你的后门任何时候其他账户出问题用它登进去修。6. 几个我个人反复验证过的经验第一能用自建管理员账户解决的事不要动内置Administrator。嫌UAC烦的话把UAC滑块调到从不通知控制面板→用户账户→更改用户账户控制设置拖到最下面效果跟启用内置管理员接近但不会破坏UWP应用和令牌模型。这是我试了十几轮之后最推荐的方案缺点是安全性下降需要你自己权衡。第二net user这套命令在域环境或者Microsoft账户下行为不一样。域内机器上本地账户和域账户是两套体系net user administrator操作的还是本机SAM数据库里的账户跟域管账户无关。公司电脑上折腾之前先想清楚组策略会不会在下次刷新时把你改的设置覆盖回去。第三空密码这件事本地用可以网络用别碰。我见过太多人设了空密码图省事结果远程连不上、共享打不开回头找半天原因最后发现是LimitBlankPasswordUse在拦。与其绕这一大圈不如设个简单好记的强密码把密码策略的复杂性要求关掉两边都舒服。第四改权限前先拍照记录。用icacls 路径 权限备份.txt把当前ACL导出改坏了还能对照着还原。这个习惯帮我省过至少两次重装系统的功夫尤其是处理公司同事机器的时候。第五虚拟机验证再上真机。这套操作里涉及到所有权变更、注册表底层开关、策略修改任何一个改错都可能导致开机异常。我现在养成的习惯是先在VM里用同一版本镜像跑一遍确认命令和顺序没问题再上物理机。前面提到热词里虚拟机安装windows10系统其实虚拟机在这件事上的最大价值就是当试验田出问题一个快照回滚就完事比还原点还干脆。第六家庭版用户做好心理准备。lusrmgr、secpol、gpedit全都没有所有操作都得靠命令行和注册表容错率低。我的建议是家庭版直接放弃改内置管理员这条路用netplwiz把登录时的密码验证关掉勾选要使用本计算机用户必须输入用户名和密码取消掉也能达到开机不进密码框的效果风险小得多。
返回列表