小编Tim*_*ner的帖子

为什么在迭代命令输出时批处理文件FOR会失败?

我有一个批处理文件,使用这个习惯用法(很多次)将注册表值读入环境变量:

FOR /F "tokens=2* delims=  " %%A IN ('REG QUERY "HKLM\SOFTWARE\Path\To\Key" /v ValueName') DO SET MyVariable=%%B
Run Code Online (Sandbox Code Playgroud)

(后面有一个制表符delims=)

这在数千个客户的计算机上运行良好.但是在一个客户的计算机上(运行Windows Server 2003,启用了命令扩展),
它失败了,因为它'REG QUERY "HKLM\SOFTWARE\Path\To\Key" /v ValueName'未被识别为内部或外部命令,可操作程序或批处理文件.reg query单独运行" "命令工作正常.Reg.exe存在于C:\Windows\System32.

通过将代码更改为,我能够解决问题

REG QUERY "HKLM\SOFTWARE\Path\To\Key" /v ValueName > temp.txt
FOR /F "tokens=2* delims=  " %%A IN (temp.txt) DO SET MyVariable=%%B
Run Code Online (Sandbox Code Playgroud)

这让客户启动并运行,但我想了解问题发生的原因,以便将来可以避免.

稍微偏离主要主题 - 将注册表值(字符串或DWORD)添加到环境变量中的更直接方法也很有用.

windows cmd batch-file

6
推荐指数
1
解决办法
1643
查看次数

是否可以使用ASP.NET ScriptManager来使用Windows FIPS安全策略?

如果在Windows中启用"使用FIPS兼容算法进行加密,散列和签名"安全策略选项,则尝试在.NET Framework中使用许多加密类将导致InvalidOperationException.默认情况下,ASP.NET使用AES加密ViewState blob,因此失败.您可以通过向web.config添加这样的键来解决此问题:

<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
Run Code Online (Sandbox Code Playgroud)

这涵盖了ASP.NET的基本用法.我的问题是:我有一个庞大,复杂的ASP.NET Web应用程序,它大量使用ScriptManagers(ASP.NET AJAX的基础),需要由必须启用此FIPS策略设置的政府客户部署.任何带有ScriptManager的ASP.NET页面都会抛出此异常:

[InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.]
   System.Security.Cryptography.SHA1Managed..ctor() +3607454
   System.Security.Policy.Hash.get_SHA1() +45
   System.Web.Handlers.ScriptResourceHandler.GetAssemblyInfoInternal(Assembly assembly) +85
   System.Web.Handlers.ScriptResourceHandler.GetAssemblyInfo(Assembly assembly) +99
   System.Web.Handlers.RuntimeScriptResourceHandler.GetScriptResourceUrlImpl(List`1 assemblyResourceLists, Boolean zip, Boolean notifyScriptLoaded) +525
   System.Web.Handlers.RuntimeScriptResourceHandler.System.Web.Handlers.IScriptResourceHandler.GetScriptResourceUrl(List`1 assemblyResourceLists, Boolean zip, Boolean notifyScriptLoaded) +910
   System.Web.Handlers.RuntimeScriptResourceHandler.System.Web.Handlers.IScriptResourceHandler.GetScriptResourceUrl(Assembly assembly, String resourceName, CultureInfo culture, Boolean zip, Boolean notifyScriptLoaded) +193
   System.Web.UI.ScriptReference.GetUrlFromName(ScriptManager scriptManager, IControl scriptManagerControl, Boolean zip) +306
   System.Web.UI.ScriptManager.RegisterUniqueScripts(List`1 uniqueScripts) +169
   System.Web.UI.ScriptManager.RegisterScripts() +407
   System.Web.UI.ScriptManager.OnPagePreRenderComplete(Object sender, EventArgs e) +200
   System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +11041982 …
Run Code Online (Sandbox Code Playgroud)

.net asp.net scriptmanager fips

5
推荐指数
1
解决办法
1636
查看次数

在IE中查看XML时如何禁用安全警告?

当我在Internet Explorer中查看XML文件时,它会进行语法突出显示并提供可单击的展开/折叠控件.但是对于我打开的每个文件,我都会得到一个黄色警告栏,需要三次点击才能解除.这些是本地文件,因此不需要安全警告.可以禁用吗?

IE黄色安全警告栏,用于查看本地xml文件http://carrieandtim.com/drop/iexmlwarning.png

xml security internet-explorer

3
推荐指数
1
解决办法
7420
查看次数