Java堂  


小心翼翼地使用IIS

Filed under: OS,Web&Server — Jet @ 4:54 上午
Tags:
原文出处: 小心翼翼地使用IIS
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

今天又一次“体验”到了IIS的脆弱,晚上添加更新一个新站点的时候不知道为何先是出现“HTTP1.1连接错误”,然后又出现如下的“Server Application Error”:

Server Application Error
The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.

后来从网上查阅了一些资料,但是依照上面的做法依然出现上述“Server Application Error”,并且重新安装了好几次IIS。因为我在执行

  1. cscript.exe synciwam.vbs -v

命令的时候出现的不是资料中所示的”Error: 8004E00F:”错误,所以最后根据资料中的方法一直不能解决。

就在心灰意冷准备重装系统的时候,我在卸载IIS的时候发现出现如下的错误信息:

在处理 OC_COMPLETE_INSTALLATION 安装信息过程中子组件 COM+ 产生了一个意外错误。

..\csetuputil.cpp (行 3419)

错误代码 = 0×8007007e

找不到指定的模块。

加载库 C:\WINNT\System32\comsvcs.dll失败。

但是我查看在system32目录下面存在comsvcs.dll文件,为什么提示加载失败呢?并且再次安装IIS的时候也出现了上面的错误提示。

最后我重新下载了一个原始的comsvcs.dll文件强制覆盖(感谢Brick的提醒,应该从System32\dllcache中拷贝comsvcs.dll文件,这样比较符合自己系统的要求),重启之后再次卸载安装IIS都无任何提示,而且运行asp程序也正常了。

参考资料:
IIS出现server application error,请问怎么解决?
IWAM账号的密码错误造成了HTTP 500内部错误
IIS服务器错误Server Application Error最有效最详细的解决方案

环境变量中的Os2LibPath是什么?

Filed under: OS — Jet @ 11:20 下午
原文出处: 环境变量中的Os2LibPath是什么?
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

今天在服务器系统的环境变量中发现有一项名为Os2LibPath,后来在网上查阅了一下原来是一个名为POSIX(可移植性操作系统接口)的政府标准,该标准规定所有出售的操作系统都必须符合这个标准。因为我们极少用到它,所以需要从系统中删除它。

1 在%SystemRoot%\system32目录中删除OS2.exe、OS2SS.exe和POSIX.exe三个文件;
2 打开注册表删除如下项:

  1. HKEY_LOCAL_ MACHINE\SOFTWARE\Microsoft下面的OS/2 Subsystem for NT及下面所有的子键;
  2. HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Session Manager\Environment,从中删除Os2LibPath项,这一步将Os2LibPath从环境变量中删除;
  3. HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Session Manager\SubSystems,删除其中的Optional、Os2、Posix三项。

参考资料:用什么方法能彻底关闭POSIX和OS/2

Apache2 服务因 1 (0×1) 服务性错误而停止 的问题

Filed under: OS,Web&Server — Jet @ 9:58 下午
Tags:
原文出处: Apache2 服务因 1 (0×1) 服务性错误而停止 的问题
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

在Windows下面安装Apache2之后,会创建一个Apache2的Windows NT服务。有的时候会发现启动该服务时出现“Apache2 服务因 1 (0×1) 服务性错误而停止”的错误信息。通常情况下遇到该提示信息会造成Apache2无法启动,可以从下面几个方面依次着手处理:

首先Apache开始菜单中的Configure Apache Server目录下“Test Configuration”验证Apache配置文件是否有错误,如果没有错误显示OK,否则显示错误的详细信息。

如果上一步通过的话则可能是因为Apache与操作系统运行环境相冲突,比如端口冲突、ErrorLog 路径错误等等,可以逐一做上传情况的排除。

最后还要说明一点的是,如果是Apache + PHP 或 Apache + Tomcat 等形式的组合的话,除了Apache自身的原因外,还要考虑PHP或Tomcat自身的配置文件是否正确。

参考资料:
在Windows下配置Apache的一点小体会
apache 在windows下无法启动的一个错误

Windows2003 Server 中的Windows Firewall/ICS服务

Filed under: OS — Jet @ 10:23 上午
原文出处: Windows2003 Server 中的Windows Firewall/ICS服务
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

最近一段时间一个客户的win2003服务器一直是网络连接不正常,经常是时断时续的。开始怀疑是机房的问题,后来因为发现即使是同一机柜的机器都一直连接正常,没有出现连接不稳定的状况。于是将重点放在了服务器本身上面。

因为服务器是刚刚购置的HP品牌机,所以首先排除硬件的问题。因为系统是2003,所以首先看了一下打开的服务。果然发现一个名为“Windows Firewall/Internet Connection Sharing (ICS)”开着,于是将其禁用,于是立即可以远程连接了。

安装微软官方的解释,上述服务“为家庭或小型办公网络提供网络地址转换,定址以及名称解析和/或防止入侵服务”。我觉得这应该又是微软自作聪明的一点了,至少在win2003系统中是如此。

使用策略封某个IP或IP段

Filed under: OS — Jet @ 3:08 上午
原文出处: 使用策略封某个IP或IP段
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

有的时候需要使用Windows2000或2003中的策略封掉某个IP或IP段,具体操作步骤如下:

1) 在运行中使用 secpol.msc 打开“本地安全策略”,然后选择“IP安全策略,在本地机器”选项;

2) 如果右边已经有自己的IP安全策略则直接打开已经存在的IP安全策略,否则点击右键选择“创建IP安全策略”命令根据向导进行创建,整个向导中只有在第二步中取一个新的名称,其余均为默认;

3) 双击某个IP安全策略,然后点击“添加”按钮,一路默认或点“是”一直到选择“IP筛选器列表”标签页的时候,选择“添加”按钮来创建一个“IP 筛选器列表”;

4) 打开“IP 筛选器列表”对话框,首先取一个名称,比如封掉211.21.26.36,然后点击右边的“添加”按钮进入“IP筛选器向导”;

5) IP筛选器向导中第二步“IP通信源”源地址选择“一个特定的IP地址”,然后在下面输入需要封掉的IP地址,比如211.21.26.36;如果这里向封掉整个IP段的话可以选择“一个特定的IP子网”,然后输入211.21.26.0,子网掩码输入255.255.255.0;

6) IP筛选器向导中第三步“IP通信目标”目标地址选择“我的IP地址”;后面的协议类型选择“任意”,最后单击“完成”。这样就创建了一个新的名为“封掉211.21.26.36”的IP 筛选器列表。

7) 关闭“IP筛选器列表”对话框,然后在“IP筛选器列表”中选择刚才创建的“封掉211.21.26.36”,然后点击“下一步”选择“拒绝”,然后点击完成即可。

8) 最后选中IP安全策略,然后右键选择指派可以指派刚才创建的策略。

通过上述步骤就可以通过策略实现封掉某个IP地址的目的,使用“secedit /refreshpolicy machine_policy”命令可立即刷新组策略。

参考资料:
IP安全策略防ping及封闭端口和封IP段

Windows任务栏出现多个相同栏的解决方法

Filed under: OS — Jet @ 2:17 下午
Tags: ,
原文出处: Windows任务栏出现多个相同栏的解决方法
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

今天朋友的电脑(系统是Windows XP)出现一个非常奇怪的现象:打开应用程序的时候在任务栏中出现两个相同的图标列表,而且拖动也删除不掉。比如打开“我的电脑”之后会发现在任务栏上“我的电脑”的图标左边右边各出现一个。后来在网上找了一些资料,终于找到了解决的方法。

打开“Windows任务管理器”(同时按下按下 Ctrl+Alt+Del 键或Ctrl+Shift+Esc 键),选择“进程”标签关闭所有的 explorer.exe 和 iexplore.exe 进程。这个时候电脑中只显示任务管理器程序了。

接下来切换到“应用程序”标签,点击下面的“新任务”按钮,在打开文本框中输入“regedit”打开注册表。找到并删除以下三个项目(包含其下的所有键):

  1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\explorer\StuckRects2
  2. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\explorer\Streams
  3. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\explorer\StreamsMRU

然后关闭注册表编辑器,单击任务管理器上的“关机”-“重新启动”菜单重启电脑之后就可以了。

另外在Windows XP新闻组上写了一个vbs脚本文件,可以直接处理上面的操作,内容如下:

  1. 'xp_taskbar_desktop_fixall.vbs - Repairs the Taskbar when minimized programs don't show.
  2. '?Kelly Theriot and Doug Knox - 8/22/2003
  3. '翻译:Smallfrogs。翻译内容:将英文提示改为简体中文
  4. '来源:Microsoft Windows XP NewsGroup
  5.  
  6. Set WSHShell = WScript.CreateObject("WScript.Shell")
  7. Message = "本脚本用于修复Windows XP中当最小化程序时,无法在任务栏显示图标的问题。"& vbCR & vbCR
  8. Message = Message & "为了正常工作,本脚本将关闭和重启 Windows Explorer 外壳,这个操作不会损坏你的系统。" & vbCR & vbCR
  9. Message = Message & "请关闭所有杀毒软件的实时监控!并保存所有打开的文件。"& vbCR & vbCR
  10. Message = Message & "是否继续?"
  11.  
  12. X = MsgBox(Message, vbYesNo+vbExclamation, "注意")
  13.  
  14. If X = 6 Then
  15.  
  16. On Error Resume Next
  17.  
  18. WshShell.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2\"
  19. WshShell.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamsMRU\"
  20. WshShell.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop\"
  21. WshShell.RegDelete "HKCU\Software\Microsoft\Internet Explorer\Explorer Bars\{32683183-48a0-441b-a342-7c2a440a9478}\BarSize"
  22.  
  23. P1 = "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\"
  24.  
  25. WshShell.RegWrite p1 & "NoBandCustomize", 0, "REG_DWORD"
  26. WshShell.RegWrite p1 & "NoMovingBands", 0, "REG_DWORD"
  27. WshShell.RegWrite p1 & "NoCloseDragDropBands", 0, "REG_DWORD"
  28. WshShell.RegWrite p1 & "NoSetTaskbar", 0, "REG_DWORD"
  29. WshShell.RegWrite p1 & "NoToolbarsOnTaskbar", 0, "REG_DWORD"
  30. WshShell.RegWrite p1 & "NoSaveSettings",0,"REG_DWORD"
  31. WshShell.RegWrite p1 & "NoToolbarsOnTaskbar", 0, "REG_DWORD"
  32. WshShell.RegWrite p1 & "NoSetTaskbar",0,"REG_DWORD"
  33. WshShell.RegWrite p1 & "NoActiveDesktop",0,"REG_DWORD"
  34. WshShell.RegWrite p1 & "ClassicShell",0,"REG_DWORD"
  35.  
  36. p1 = "HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\LocalUser\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\"
  37.  
  38. WshShell.RegWrite p1 & "NoCloseDragDropBands", 0, "REG_DWORD"
  39. WshShell.RegDelete p1 & "NoMovingBands"
  40.  
  41. p1 = "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell"
  42.  
  43. WshShell.RegWrite p1, "explorer.exe", "REG_SZ"
  44.  
  45. p1 = "HKCU\Software\Microsoft\Internet Explorer\Explorer Bars\{32683183-48a0-441b-a342-7c2a440a9478}\"
  46. WshShell.RegDelete p1 & "BarSize"
  47. WshShell.RegWrite p1, "Media Band", "REG_SZ"
  48.  
  49. On Error Goto 0
  50.  
  51. For Each Process in GetObject("winmgmts:"). _
  52. ExecQuery ("select * from Win32_Process where name='explorer.exe'")
  53.   Process.terminate(0)
  54. Next
  55.  
  56. MsgBox "完成!" & vbcr & vbcr & "?Kelly Theriot and Doug Knox", 4096, "完成"
  57.  
  58. Else
  59.  
  60. MsgBox "没有对你的系统进行任何改变。" & vbcr & vbcr & "?Kelly Theriot and Doug Knox", 4096, "用户取消了"
  61.  
  62. End If

最后需要说明的是:上述的方法不仅解决开始所描述的问题,而且还可以解决各种任务栏工作不正常的情况,比如:任务栏不显示正在运行的程序的图标,或者在任务栏上总是出现重复的图标等等。

参考资料:
http://gaozhongliang328.blog.163.com/blog/static/9853949200722910502867

Outlook Express、Office Outlook和Foxmail的邮件互导

Filed under: OS,Tools — Jet @ 11:57 下午
原文出处: Outlook Express、Office Outlook和Foxmail的邮件互导
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

1. Foxmai和Outlook Express

Foxmail中提供了导入Outlook Express邮件的功能,具体操作方法是:选中Foxmail中某个邮箱帐号,然后选择“邮箱”-“导入”-“Outlook Express邮箱”菜单,这样就会自动在“打开”对话框中出现Outlook Express的邮箱文件(*.dbx),接下来选择对应的文件导入就可以了。

反过来说,Outlook Express没有直接提供导入Foxmail的信箱功能,可以在Foxmail选中需要导出的邮件,然后“文件”-“导出邮件”菜单,选中一个导出的位置,这样就可以将邮件导出为一个一个的eml文件。接下来打开Outlook Express,然后将上面的eml文件直接拖入到程序中对应的文件夹中就可以了。

2. Foxmail和Office Outlook

Foxmail和Office Outlook二者都没有提供直接导入对方邮件的方法,但是因为Outlook Express提供了互相导入数据的功能(都是微软自己的东西嘛!),所以可以将Outlook Express作为中介进行操作。

比如将Office Outlook中的邮件导入到Foxmail中的话,可以首先打开Outlook Express,然后使用“文件”-“导入”-“邮件”,然后选中“Microsoft Outlook”就可以将Office Outlook中的邮件导入其中了。最后使用1中的方法将Outlook Express中的邮件导入到Foxmail中即可。

参考资料:
foxmail与outlook互相导入导出数据
求教,如何把Office Outlook 中的邮件倒入 foxmail!

XP中局域网不能访问的解决办法

Filed under: OS — Jet @ 10:02 下午
原文出处: XP中局域网不能访问的解决办法
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

局域网中XP系统的机器可以访问2000或98系统的机器,但是2000或98系统的机器无法访问XP系统的机器;或者两台XP系统的机器都无法访问但是可以ping的通。这种情况下多半是因为XP默认情况下在“安全策略”中限制了Guest用户访问局域网的权限。

解决方法如下:
在“控制面板”-“管理工具”中打开“本地安全策略”,然后打开“本地策略”中的“用户权利指派”,找到“拒绝从网络访问这台计算机”双击打开,删除guest选项,然后依次保存退出即可。

XP中的“安全”选项卡在哪里?

Filed under: OS — Jet @ 5:15 下午
原文出处: XP中的“安全”选项卡在哪里?
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

经常在XP中调试asp程序,有的时候会出现编号为0×80040E09的错误,主要是提示数据库不可操作。如果系统为2000或2003可以很方便在“安全”选项卡中设置用户权限,但是XP中找不到这个选项。

后来查了一下原来XP中默认情况下使用了“使用简单共享”模式,这个模式下隐藏了“安全”选项卡。只要在“文件夹选项”中将“使用简单共享(推荐)”选项去掉就可以了。

参考资料:
百度知道

Windows Update产生的“0×8007045A”错误及解决方法

Filed under: OS — Jet @ 10:34 上午
原文出处: Windows Update产生的“0×8007045A”错误及解决方法
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

今天在Windows Update过程中产生“0×8007045A”错误,如下图所示:
ox8007045a.png

后来查了一下原来是因为本机中的system32目录下面的msxml3.dll、msxml3a.dll和msxml3r.dll损坏而造成的,从另外一台机器上复制了三个文件覆盖到system32下面即可。覆盖的时候可能会有文件正在使用的提示,只要将explore进程关闭然后在cmd中拷贝就可以了。

除了在其他机器中拷贝这三个文件还可以在http://www.dll-files.com网站上搜索下载,不过我没有在上面搜索到msxml3r.dll这个文件。:( 不过后来在国内一个类似的网站(http://www.dll321.com)上找到了最后一个文件 :P

参考资料:
Windows Update故障再探

« 上一页下一页 »