当前位置: 代码迷 >> 应用服务器 >> 罗兰德制造无损迁移IIS(含匿名帐号,ntfs,acl,用户同步)解决办法
  详细解决方案

罗兰德制造无损迁移IIS(含匿名帐号,ntfs,acl,用户同步)解决办法

热度:3240   发布时间:2013-02-26 00:00:00.0
罗兰德制造无损迁移IIS(含匿名帐号,ntfs,acl,用户同步)
windows下迁移网站确实不如linux下这么方便.
迁移一个两个那是好办.要是迁个虚拟主机.动不动五六百个呢?光是添加用户名密码,绑定域名,配置ntfs权限.每一项都能让人头大.何况要是再来个五六台服务器就三四千了.要是一个一个迁会要命的.

不光是迁移.或者是因为服务器运行久了.慢了,中毒了.本文方法同样适用.要重装系统.

下面这些方法都是尽量用身边最常用的软件,最能就地取材的方法.不借助于第三方,或偏门少见的软件实现.

一.第一步首先搞到你所有用户名和密码.

windows下的密码是搞不到的.存在sam文件中,并且是加密的.开机状态是不可以存取的.破密码的工具也有,可以用lrc,dump一类的工具进行爆破,但是现在我们不是要搞黑客.是自己的服务器.不用这么麻烦.何况就算要黑,跑一个用户的密码也是要跑很久的.
只需要一条命令开始运行打开cmd.exe
net   user   > c:\userlist.txt
net   user最多是三列的会像这样的格式
user1       user2       user3
得到一个所有用户的用户名列表.稍微整理一下,去掉超级管理员,guest等等非网站用户.弄成一列的形式.变成
user1
user2
user3
全选,把它贴到excel中.
这样在A1单元格填的就是user1,选中d1列输入一个数字,拖动填充柄往下拉.会自动自增帮你填好.拉到和用户名一样多就行.
然后在c1列点击fx,等号后输入函数,对d1列的数字进行任意一个tan,sin之类的正,余弦,正,余割都行.会生成一些随机小数位.同样拖动填充柄,往下拉,它会自动帮你填好相对单元格地址引用.

然后,文件,另存为,保存时格式选   CSV(逗号分隔).csv存为userlist.csv
这个文件表现如下
user1,0.3365455
user2,0.5456464
user3,0.2123132

目的就是为了构造

用户名,密码

中间以逗号分隔的列表便于后面调用.这个列表构造方法也很多.不一一例举.上面只是给出其中一种方法.

如果有虚拟管理主机软件如prima,freehost,华众,蓝芒一类.更简单.直接数据库里面导出用户名密码列表即可.

如星外,7i24可以在SQLserver查询分析器执行
select   ftpname,ftppassword,serverlistid   from   FreeHost.FreeHost_Product_Host   where   serverlistid=1   or   serverlistid=2     order   by   serverlistid

serverlistid可以根据实际受控端来控制是否要一起导出.
在查询分析器右键,另存为即可得到一个userlist.csv的文件.


二.导出IIS配置备份

del   iismove.SC0
del   iismove.MD0  
iisback.vbs     /backup   /b   iismove     /e   iismove   /overwrite   /v   0
copy   C:\WINDOWS\system32\inetsrv\MetaBack\iismove.SC0   iismove.SC0
copy   C:\WINDOWS\system32\inetsrv\MetaBack\iismove.SC0   iismove.MD0

以上是命令行的实现.图形化操作方法也附一个.

iis管理器中最顶级处,右键,所有任务,配置备份、还原

点创建备份,备份名称随便输入,勾选使用密码加密备份,一定要勾,不勾不能在别的电脑还原。


把C:\WINDOWS\system32\inetsrv\MetaBack中生成的MD0和SCO文件复制到新服务器中的
C:\WINDOWS\system32\inetsrv\MetaBack中。

按上面的方法,恢复还原即可。


三.目标服务器IIS预配置

复制前面生成的userlist.csv和批处理文件放同个目录

md   d:\freehost
for   /f   "tokens=2*   delims== "   %%b   in   ( 'wmic   group   where   name^= "IIS_WPG "   get   SID   /value^|findstr   /i   "sid= " ')   do   (set   WPG=%%b)
echo   y|cacls.exe   d:\freehost   /c   /s:D:(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;FR;;;%WPG%)
net   localgroup   freehost   /add
for   /f   "delims=,   tokens=1,2 "   %%i   in   (userlist.CSV)   do   md   d:\freehost\%%i\web
for   /f   "delims=,   tokens=1,2 "   %%i   in   (userlist.CSV)   do   md   d:\freehost\%%i\db
for   /f   "delims=,   tokens=1,2 "   %%i   in   (userlist.CSV)   do   md   d:\freehost\%%i\log
for   /f   "delims=,   tokens=1,2 "   %%i   in   (userlist.CSV)   do   net   user   %%i   %%j   /add   /expires:never   /passwordchg:no   /times:all
for   /f   "delims=,   tokens=1,2 "   %%i   in   (userlist.CSV)   do   net   localgroup   freehost   /add   %%i
for   /f   "delims=,   tokens=1,2 "   %%i   in   (userlist.CSV)   do   net   localgroup   users   /delete   %%i
for   /f   "delims=,   tokens=1,2 "   %%i   in   (userlist.CSV)   do   setacl.bat   %%i
  相关解决方案