一、问题描述
有家公司说他们访问共享打印机,电脑有时访问共享打印机,需要输入用户名和密码,有的时候又不需要输入用户名和密码。当需要输入用户名和密码时,随便输入一个服务器上没有的帐户和密码,也直接可以访问到共享打印机。但是客户希望是不需要输入用户名和密码直接可以访问到共享打印机。由于公司人员较多几百号人,都来问IT这个共享的密码是多少?IT也会相当头疼。
现象,访问共享打印机提示需要输入用户名和密码。

但又有的时候电脑访问共享打印机也无法直接访问,也不跳输入用户名和密码,直接又报错,报错信息如下:

你不能访问此文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。
这个报错就是安全策略阻止未经身份验证的来宾访问。服务器策略网络访问是经典模式但又启用来宾访问,这就互相冲突了。网络访问经典模式是为了验证用户名和密码正确才可以访问。仅来宾模式,又是不需要验证用户名和密码的正确与否,都可以正常访问,这时有的电脑策略就会报如上错误。
那这公司共享到底是什么问题呢?让我们详细探讨一番。老铁夏天炎热,多吃西瓜,注意防暑!

二、解决办法
参考前面的文章:
- Server2012 R2共享访问报:登录失败:用户帐户限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制。
- 如果administrator设置密码了,如何设置Server 2012 R2,开启用户名和密码访问共享文件夹。
- 如果administrator设置密码了,如何设置Server 2012R2 不需要用户名和密码即可访问共享文件夹。
发现客户使用的是Server 2012 R2的操作系统,查看administrator用户是否设置密码,已设置密码。
客户的需求是,客户端,直接访问共享打印机,不需要输入用户名和密码,而且共享打印机都是everyone的访问权限。

查看服务器的安全设置策略,发现客户使用的是默认经典网络访问模式。

而且将帐户:来宾帐户状态 已启用。

guest帐户已启用。

正是因为客户的打印共享服务器,网络访问是经典模式,又启用了来宾帐户,有的人访问共享打印机时,就需要输入用户名和密码,但是用户随便输入了一个错误的用户名和密码,server 2012R2系统中没有的本地用户,客户端也可以正常登录,正常访问打印机。这是为什么呢?
针对客户所描述的故障,按之前的三篇文章,那肯定是要将网络访问模式,从经典模式更改为仅来宾。这样就解决了客户端访问共享打印机时,需要输入用户名和密码的问题了。

重点来了。让我们来还原客户现场问题!

三、故障还原
我们来回顾一下客户的问题。客户设置的网络访问是经典模式。

帐户:来宾帐户状态是已启用。

当使用测试使用win7客户端访问共享服务器时。

这时的确跳出来需要输入用户名和密码了,这时随便输入一个共享服务器本地不存在的帐户和密码时。

可以正常访问到共享文件。

我们通过net use * /del去断开共享会话,客户端访问共享时,通过用户名和密码访问共享,如果要断开共享,关闭共享文件,然后可以使用net use * /del去断开会话。当直接访问,不需要输入用户名和密码的共享访问,没有连远共享连接可以断开的。

测试使用win10客户端访问共享,也是跳出来输入用户名和密码访问,随便输入一个错误的用户名和密码。

也是可以正常访问到共享文件夹的。


这时,我们在Server 2012R2共享服务器上,打开运行,在运行中输入fsmgmt.msc打开共享文件夹管理器。

查看当前的连接,可以看到刚才win7客户端和win10都已经和共享服务器产生了会话,而且使用的是Guest用户进行的会话,说明刚才输入的不存在的用户名和密码访问时,都自动转换成了来宾Guest用户访问。

那如果输入正确的用户名和密码是否可以访问到共享呢?再次访问Server 2012R2系统的共享文件夹。输入Server 2012R2存在的本地用户名和密码。

发现也是可以正常访问的。

这时我们再次到服务器上查看共享会话,可以发现有一个用户是administrator用户建立的连接,而不是Guest用户。其他的客户端访问都是通过Guest用户访问过来的,即使客户输入错误的用户名和密码,这些用户也都是Guest用户。

四、技术点
测试一:勾选记住我的凭据
如果客户网络访问策略不调整,还是经典模式+启用来宾帐户,之前客户那边为什么还有那么多人,老是会提示输入用户名和密码呢?如果当时IT管理人员和所有人都通知:如果访问共享打印机跳出来用户名和密码,随便输入用户名和密码,即可访问,最主要的一点是,一定要勾选记住我的凭据。如果这个不勾选,今天不跳出来需要输入用户名和密码,一关机第二天再次访问还是要输入用户名和密码。但这种网络访问策略不合理。

当记住共享访问凭据时,可以在凭据管理器中查看到已经保存的windows凭据。只要保存了凭据,下次重启电脑,就不会跳出来输入用户名和密码界面了,当然这个解决办法,没有达到客户的最终需求。

测试二、经典模式+禁用来宾帐户
如果启用经典模式访问,来宾帐户还是已禁用。


这时通过win7客户端去访问共享文件,输入一个错误的用户名和密码,发现无法正常访问到共享文件,提示登录失败:未知的用户名或错误的密码。

再通过win10客户端访问共享文件,也输入一个错误的用户名和密码,发现也是无法正常打开共享文件的,提示:用户名或密码不正确。

再次输入正确的用户名和密码访问共享。

这时就可以正常访问到共享文件夹了。

当网络访问是经典模式时,禁用来宾帐户,客户端访问共享时,输入的用户名和密码必须是Server 系统中的本地存在正确的帐户和密码,而且这个帐户要有共享文件或者共享打印机的访问权限。
测试三、win10断开会话时间
当win7关闭共享文件夹,断开共享时,会话很快就会断开,但是win10断开共享会话时,也刷了好多遍net use * /del还是无法立即断开共享会话。

在win10客户端关闭共享文件夹,而且使用net use * /del去断开共享会话,在Server服务器上查看会话还是存在的,基本上还要等待1分钟左右,才可以自动断开。如果测试时,需要立即断开,可以到服务器上直接找到此会话,右击直接关闭会话。

当调试测试时,仅来宾切换成经典模式时,需要将客户端上一次和仅来宾会话结束。然后再重新访问共享,重新和经典模式建立需要输入用户名和密码访问。
