双击打开任何文件(除了.exe之类的可执行文件)都很慢,打开每个文件需要2分钟左右的时间,有时甚至会死机。尝试系统还原失败之后,在网上找到了解决方法:

在注册表中将以下两个主键值更名之后即可:

HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers

HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers

大家通过网上邻居共享的方式安装软件的时候,是否经常要等很长时间才看到一个“安全警告”窗口?

如果想让它消失的话,可以把对端机器的IP或机器名添加到IE的“可信站点”就可以了。

比如下面的例子,如果我要运行\\sz7 下的程序时,我把\\SZ7添加到IE浏览器的“可信任站点”后,就不会再看到这个烦人的窗口了。

1.单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。

  在命令提示符处,键入下面的命令行,然后按 Enter:

  Rundll32 setupapi,InstallHinfSection Ndi-Steelhead 132 %windir%\inf\netrass.inf

2.重新启动 Windows。

3.单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。

  在命令提示符处,键入以下命令并按 Enter:

  Netsh firewall reset

4.单击“开始”,单击“运行”,键入 firewall.cpl,然后按 Enter。 你可以发现“Windows 防火墙”对话框可以出来了。

前两天发布了《Vista和Win7批量打补丁的vbs》。 (http://www.jackyhe.com/?p=156)

感觉使用起来不方便,就写了一个应用程序(http://www.jackyhe.com/downloads/GSSUS.zip)。

此程序用Delphi7编写。欢迎大家下载和提供意见。

做了一个简单的vbs,用来给Vista和Win7批量打补丁(需要先把补丁下载到本地)。
只是用了一些简单的WMI。有空的话,再做一个图形界面的。

#####################

Dim HotfixArray()
PatchedIDList = “”
i=0
strComputer = “.”
PATH=left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))
‘XPVersion = “5.1”
‘XPSPVersion = 3
VistaVersion = “6.0”
VistaSPVersion=2
Win7Version = “6.1”
Win7SPVersion=0
OSError = 0

Set objWMIService = GetObject(“winmgmts:” & “{impersonationLevel=impersonate}!\\” & strComputer & “\root\cimv2”)

Set objMemWidth = objWMIService.ExecQuery(“Select AddressWidth from Win32_Processor”)
For Each colMemWidth In objMemWidth
MenWidth = colMemWidth.AddressWidth
Next
If MenWidth = 64 Then
Wscript.Echo “Sorry. We don’t support x86_64 system.”
Else
Set objOSInfo = objWMIService.ExecQuery(“Select * FROM Win32_OperatingSystem”)
For Each colOSInfo In objOSInfo
OSSP = colOSInfo.ServicePackMajorVersion
OSver = colOSInfo.Version
OSLang = colOSInfo.Locale
Next
OSver = Left(OSver,3)
Select Case OSver
‘ Case XPVersion
‘ FILENAME= PATH & “XP\”
Case VistaVersion
If OSSP < VistaSPVersion Then OSError = 1 ErrorMessage = "Please install Service Pack " & VistaSPVersion & " first." Else FILENAME= PATH & "Vista\" End If Case Win7Version If OSSP < Win7SPVersion Then OSError = 1 ErrorMessage = "Please install Service Pack " & Win7SPVersion & " first." Else FILENAME= PATH & "Win7\" End If Case Else OSError = 1 ErrorMessage = "Sorry, We don't support your system version. (" & OSver & ")" End Select If OSError = 1 Then Wscript.Echo ErrorMessage Else Select Case OSLang Case "0804" FILENAME= FILENAME & "chs\" Case "0404" FILENAME= FILENAME & "cht\" Case "0c04" FILENAME= FILENAME & "cht\" Case "1004" FILENAME= FILENAME & "cht\" Case "1404" FILENAME= FILENAME & "cht\" Case Else FILENAME= FILENAME & "eng\" End Select FILENAME = FILENAME & "PatchList.txt" Set colFeatures = objWMIService.ExecQuery ("Select * from Win32_QuickFixEngineering") '查找已安装的补丁 For each objFeature in colfeatures i=i+1 ReDim Preserve HotfixArray(i) HotfixArray(i-1) = objFeature.HotFixID HotfixArray(i-1) = Left(HotfixArray(i-1), 8) Next SuccessList = "" SuccessCount = 0 FailList = "" FailCount = 0 NotFountList = "" NotFountCount = 0 Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.FileExists("c:\Windows\system32\wusa.exe") Then If objFSO.FileExists(FILENAME) Then Set objTextFile = objFSO.OpenTextFile(FILENAME) Do Until objTextFile.AtEndOfStream HotfixFound = 0 FileLine = objTextFile.ReadLine FileLine = Left(FileLine, 8) SubText = Left(FileLine,2) If SubText = "KB" Then Parameter = objTextFile.ReadLine For Each Hotfix In HotfixArray If FileLine = Hotfix Then HotfixFound = 1 Exit For End If Next If HotfixFound = 0 Then Set Wshell=WScript.CreateObject("WScript.Shell") PatchPATH = "c:\Windows\system32\wusa.exe " & PATH & FileLine & ".msu" & " " & Parameter If objFSO.FileExists(PatchPATH) Then ResultValue = Wshell.Run (PatchPATH ,1 , true) If ResultValue = 0 Then '安装成功 SuccessCount = SuccessCount + 1 SuccessList = SuccessList & FileLine If SuccessCount Mod 5 = 0 Then SuccessList = SuccessList & Chr(13) End If Else '安装失败 FailCount = FailCount + 1 FailList = FailList & FileLine If FailCount Mod 5 = 0 Then FailList = FailList & Chr(13) End If End If Else NotFountCount = NotFountCount + 1 NotFountList = NotFountList & FileLine If NotFoundCount Mod 5 = 0 Then NotFoundList = NotFoundList & Chr(13) End If End If End If End If Loop objTextFile.Close SuccessList = "Total " & SuccessCount & " patches install successfully." & Chr(13) & SuccessList FailList = "Total " & FailCount & " patches install failly." & Chr(13) & FailList PatchedIDList = SuccessList & Chr(13) & Chr(13) & "====================" & Chr(13) & Chr(13) & FailList & Chr(13) & Chr(13) & "====================" & Chr(13) & Chr(13) & NotFoundList If SuccessCount = 0 And Failcount = 0 Then Wscript.Echo "No patch need to install." Else Wscript.Echo PatchedIDList End If Else Wscript.Echo "File " & FILENAME & " does not exist." End If Else Wscript.Echo "c:\Windows\system32\wusa.exe don't exist. Patches install fail" End If End If End If

#####################

通过mailbox方式存储的邮件都放在一个文件中,有的时候想找出其中一封邮件都比较困难。
因此我们通常会想办法把mailbox中的每一个邮件单独保存在单独的文件中。
方法其实很简单。请看下面的短短的程序就可以做到。

##################
#!/bin/bash

if [ -z “$1” ]; then
echo -e “\nUsage: split mailbox\n”
exit
fi

csplit -f $1. -n3 -s -z $1 ‘/^From /’ ‘{*}’

for i in `ls $1.*`; do
DATE=`head -1 $i | awk ‘{print $4, $5, $6, $7}’`
touch -d “$DATE” $i
done
##################

最近发现服务器经常被一些莫名的IP攻击。情况有加重的趋势。
真的不明白为什么他们就喜欢做一些无聊的坏事。
难道就是为了攻击了别人的服务器后,放上一些无聊的语句或无聊的照片就显得自己高人一等吗?
在这里,我可以跟他们说。我这个只是一个个人网站。就算是给攻击了。也不会有所损失。
最多也就是推倒重来。
没有什么大不了的。
(详情可以查看这网页

(这是2008年发现的好工具,但已经忘了。后来经过同事的提醒,才想起。所以马上在这里写好笔记,以免再次忘记。)
今天我介绍一个超级好用的实操经验给大家,大家之前有没有试过给用户更换Thinkpad笔记本?
如果用户希望保留所有数据,包括OS的话,我们一般都会用ghost来备份系统
更换之后有没有遇到什么问题?我遇到的最多的问题就是不能正常启动到windows(开机后只看到左上角的图标不断的在闪烁,然后死机)

原来,有一个工具,比ghost强的多得多,他就是Acronis True Image Home ,最新的是2009(v12)版。有15天的试用期。在此工具的Tools菜单里面有个Clone Disk的功能,可直接在windows下克隆硬盘数据。
大家只要准备一个移动硬盘盒或IDE转USB线就可以了。
方法很简单,把新硬盘通过移动硬盘盒或IDE转USB线接到系统中,在windows下安装Acronis True Image Home ,选择Clone Disk,根据向导一步步操作,在操中,我们可以给新的硬盘设置每一个分区的大小,或根据现有的硬盘分区的比例来分。设置好后,系统会重启windows并开始克隆,克隆完毕后,我们把新硬盘替换掉旧的硬盘就可以使用了。
通过这个办法,我们还可以快速的把用户的数据也同时克隆到新硬盘上。时间缩短了很多很多。

不过有两点需要提醒大家:
(1) 一定要找一个USB 2.0 高速硬盘盒来做,如果你用USB 1.1的话,那你等一天吧。
(2) 在设置克隆向导中,有一个选项,就是问在克隆后是否清除旧硬盘上的数据,这个千万小心,不要乱选。否则哭也没有眼泪。

做个记录。(下载

openssl 0.9.8l (http://www.openssl.org/source/)
openssh 5.3p1 (http://www.openssh.org/portable.html#http)
syslog-ng 3.0.5 (http://www.balabit.com/downloads/files/syslog-ng/sources/)
apache 2.2.14 (http://httpd.apache.org/)
php 5.2.12 (http://www.php.net/downloads.php#v5)
BIND 9.7.0 (https://www.isc.org/downloadables/all)
DHCP 4.1.1 (https://www.isc.org/downloadables/all)
MailScanner 4.79.11-1 (http://www.mailscanner.info/downloads.html)
Mysql 5.1.44 (http://dev.mysql.com/downloads/mysql/5.1.html)
Samba 3.5.0 (http://us6.samba.org/samba/)
Squid 3.0.STABLE24 (http://www.squid-cache.org/Versions/)
vsftp 2.2.2 (http://vsftpd.beasts.org/#download)
sendmail 8.14.4 (http://www.sendmail.org/releases/8.14.4)
cyrus-sasl 2.1.23 (http://cyrusimap.web.cmu.edu/downloads.html#sasl)
freeradius 2.1.8 (http://freeradius.org/download.html)
freetype 2.3.12 (http://freetype.sourceforge.net/index2.html)
jpeg 8a (http://www.ijg.org/)
libpng 1.4.1 (http://www.libpng.org/pub/png/libpng.html)
rrdtool 1.4.2 (http://oss.oetiker.ch/rrdtool/download.en.html)
ntop 3.3.10 (http://freshmeat.net/projects/ntop/)