更改 IIS .config 密码(加密?)

更改 IIS .config 密码(加密?)

之前用于登录配置文件的帐户已被删除,该配置文件允许我们的网站运行。我对 IIS 一无所知,正在寻找一些有关如何像以前的用户一样加密密码的见解。我相信这是加密类型<add name="IISWASOnlyRsaProvider..."。后来在代码中,我提供了自己的用户名和密码,允许它再次运行:

virtualDirectory path="/" physicalPath="C:\path\to" userName="" password="" />
<virtualDirectory path="/Pictures" physicalPath="C:\Shares\Public\pictures" userName="" password="" />

以前的密码以 开头enc:AesProvider,后面跟着加密密码。有没有办法生成我自己的加密密码并放在上述位置?

答案1

在IIS管理器中打开虚拟目录,点击Advanced Settings...右侧的操作窗格,在入口处Physical Path Credentials点击...按钮,设置用户和密码,会保存在配置文件中。

请注意,虽然密码本身的加密很强,但机器上的每个管理员都可以很容易地查看它。

foo根目录中的vDir 示例Default Web Site

Get-WebConfiguration -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/site[@name='Default Web Site']/application[@Path='/']/virtualDirectory[@path='/foo']" | select username, password

这使用与 IIS 从配置中获取用户名和密码相同的 API。虽然在配置中密码是加密的,但通过 API 读取时,密码会以明文形式显示。

答案2

您可以使用 aspnet_regiis.exe 命令加密配置文件所需的部分,并授予需要读取它的所需帐户的访问权限。

http://blogs.msdn.com/b/gaurav/archive/2013/12/16/encrypting-section-of-config-file-using-aspnet-regiis-exe-the-configuration-for-physical-path-web-config-cannot-be-opened.aspx

答案3

作为替代方案Peter 使用 Powershell 的方法,您也可以使用appcmd来找回密码

%systemroot%\system32\inetsrv\APPCMD list vdirs mySite/Pictures /text:password

或设置新的

%systemroot%\system32\inetsrv\APPCMD set vdir mySite/Pictures /password:"hunter2"

这可能不适用于某些加密方法。这取决于哪些帐户有权访问密钥。

相关内容