sql-server - 如何在 SSRS 中更新所有 Windows 文件共享交付的密码
解决方案
似乎还没有更简单的方法。不过,我可以给你一些你需要的东西。
用户名和密码数据作为 XML 存储在ExtensionSettings字段ReportServer.dbo.Subscriptions表中。
不幸的是,用户名和密码存储为
<ParameterValues>
<ParameterValue>
<Name>PATH</Name>
<Value>\\SERVER_NAME\files\TEST\Automation\Dropoff</Value>
</ParameterValue>
<ParameterValue>
<Name>FILENAME</Name>
<Value>MEMBERS</Value>
</ParameterValue>
<ParameterValue>
<Name>FILEEXTN</Name>
<Value>True</Value>
</ParameterValue>
<ParameterValue>
<Name>USERNAME</Name>
<Value>AABBEItDo8/msevjegsUsAlJf5eo1fTFjFe16FNk94Z+7hQvqsSHgW93DHqSL3rF2iHOCiwkvV9kEFGeUMG0tW4VV6gdQghXup+2V3BZHwo=</Value>
</ParameterValue>
<ParameterValue>
<Name>PASSWORD</Name>
<Value>AABBpjdpbU2qN46RzMvYGfVPIW5B3cOlFtzXeIo8Sfn3uOSH5LiXbfptxYuFMNgR+5uYpHnh+6Y5oY4GDn6TXwOSYa5La+40</Value>
</ParameterValue>
<ParameterValue>
<Name>RENDER_FORMAT</Name>
<Value>PDF</Value>
</ParameterValue>
<ParameterValue>
<Name>WRITEMODE</Name>
<Value>Overwrite</Value>
</ParameterValue>
</ParameterValues>
我还没有找到一种方法来确定哈希值应该是什么,而无需先更改哈希值,然后查看扩展设置以找到密码。您可以手动更新一个,然后查看新值以更新其余部分。
您将需要一个循环来一次浏览您想要的订阅。
这是一些更新密码的代码:
DECLARE @PASSWORD AS VARCHAR(150) = 'AABBpjdpbU2qN46RzMvYGfVPIW5B3cOlFtzXeIo8Sfn3uOSH5LiXbfptxYuFMNgR+5uYpHnh+6Y5oY4GDn6TXwOSYa5La+40'
DECLARE @EXTENSION_SETTINGS XML
--Add loop to go through all subscriptions
SELECT @EXTENSION_SETTINGS = ExtensionSettings
FROM ReportServer.dbo.Subscriptions
WHERE SubscriptionID = @SUBSCRIPTION_ID;
SET @EXTENSION_SETTINGS.modify('replace value of (/ParameterValues/ParameterValue[Name="PASSWORD"]/Value/text())[1] with sql:variable("@PASSWORD")');
UPDATE dbo.Subscriptions
SET ExtensionSettings = CAST(@EXTENSION_SETTINGS AS VARCHAR(8000))
WHERE SubscriptionID = @SUBSCRIPTION_ID
--Next in Loop
推荐阅读
- matlab - 特定范围内的曲线循环伏安法下面积
- android - 在哪里/如何存储敏感信息?
- jquery - 在django中用jquery实时更新模板可以吗?
- c# - 以编程方式创建测试
- amazon-web-services - 使用 aws Autoscaling 组直接附加应用程序负载均衡器/网络负载均衡器
- cookies - Cookies不会一直删除角度7
- android - 有没有办法导航到目的地并将另一个添加到 NavigationManager 中的 backtstack?
- mysql - VB.net for MySQL 数据库中的 .open() 返回 System.Collections.Generic.KeyNotFoundException:字典中缺少给定键。如何解决?
- angular - Angular 组件没有被破坏
- python - 如何从字符串中引用 Python 中现有的类对象?