1、选择“开始—程序—管理工具—服喊则务器管理器”,打开“服务器管理器”控制台,选择“角色”选项,单击“添加角色”链接,运行“添加角色向导
2、在“选择服务器角色”对话框中,选中“windows 部署服务”复选框,如图1-1
3、在“选择角色服务”对话框中,选中“部署服务器”复选框如同3-1所示
4、 在“确认安装选择”对话框中,查看并确认将要安装的角色或功能,如图4-1所示
5、单击“安装”按钮开始安装。安装结束后,显示“安装结果”对话框,如图5-1所示,单击“关闭”按钮退去即可
二、到这windows 部署服务就安装完成了,下面讲如何运行windows 部署服务,要运行Windows 部署需要安装DHCP服务,下面安装DHCP服务。
6、在“选择服务器角色”对话框中添加“DHCP服务器”如图6-1所示
7、在“选择网络连接绑定”对话框中选择“172.30.5.15”如图7-1所示
8、在“添加或编辑DHCP作用域”对话框中,为当前DHCP服务器添加作用域,作用域的地址范围是172.30.5.15—172.30.5.199。如图8-1所示
9、在“配置DHCPv6无状态模式”对话框中,选择“对此服务器禁用DHCPv6无状态模式”单击按钮,如图9-1所示
10、安装DHCP服务器完成之后,在“服务器管理器”窗口中定位到”DHCP服务器”,删除其他作用域(只保留图8-1创建的作用域),然后打开 该作用域郑亩棚的“属性”对话框(如图10-1) 在“高级”选项卡中选择“两者”单选按钮,如图10-2所示
11、最后在“IPv4属性”对话框中,为DHCP服务器绑定172.30.5.15 的服务器地址如图11-1所示
三 .到此DHCP也安装完成,下面介绍Windows部署服务的配置过程与步骤
12、打开“服务器管理器”定位到“角色—Windows部署服务”,开始启动Windows部署服务。
13、右击dc.heinfo.local(如果你计算机名为win 2008-1 域名为a.com那就右击win2008.a.com) ,从快捷菜单中选择“配置服务器”的命令,如图13-1所示,启动“Windows 部署服务配置向导”。
14、在“欢迎页面”对话框中列出了Windows 部署服务所需的条件,如图14-1所示
15、在“远程安装文件夹的位置”对话框中,选择一个可用空间最大的NTFS分区,作为Windows 部署服务保存 *** 作系统映像的位置,如图15-1所示
16、在”DHCP选项60”对话框中,配置DHCP服务器。如果网络中的DHCP 服务器与Windows 部署服务在同一台计算机上,请选中“不侦听端口67”和“将DHCP选项标记#60配置为PXECLIient复 选框,”如图16-1所示
17、在“PXP服务器初始设置”对话框中,选择“响应所有(已知和未知)客户端计算机”单选按钮,如图17-1所示
18、在“配置完成”对话框中,选择“立即在Windows 部署服务器上添加映像”复选框,如图18-1所示
19.在“Windows 映像文件位置”对话框中,选择将要添加的Windows *** 作系统的位置。在本例中,将 Windows 7(集成 SP1)的64位安装光盘放在光驱中,该光驱盘符为D。在本例中选择D:,如图19-1所示(在选择的 时候先把映像放在光驱中,然后选择耐哗光驱)
20.在“映像组”对话框,选择“创建新的映像组”单选按钮,在此命令映像组名称为“Windows 7 SP1”,如图20-1所示
21.在“复查设置”对话框中,显示了图19-1中要添加的映像数,分别为“启动映像数”与“安装映像数”,如图21-1所示
【说明】“启动映像”是用来安装计算机的 *** 作系统映像。从windows vista 开始,启动与安装映像分开。用高版本的启动映像启动计算机,可以安装“低版本”的 *** 作系统,但用低版本的启动映像启动计算机,将不能安装“高版本”的 *** 作系统。例如,可以用windows 7 SP1 的启动映像启动计算机,可以用来安装windows vista;windows server 2008;windows Server 2008 R2;windows 7;windows 7集成SP1包,但用windows vasta 的启动映像启动计算机,则不能安装windows 7;windows server 2008 R2 *** 作系统映像。
22 .在“任务进度”对话框中,当 *** 作系统的启动映像与安装映像添加到windows部署服务器之后,显示“ *** 作完成”,单击“完成”按钮,如图22-1所示
23.返回到“服务器管理器”窗口,可以看到已经添加了4个windows 7的安装镜像,如图23-1所示
三.下面介绍添加其他 *** 作系统的安装镜像
24.定位到“服务器管理器—角色—windows 部署服务—服务器—(服务器计算机名)—安装映像”,在右侧空白窗格中央右击“添加映像组”,如图24-1所示
25、在“添加映像组”对话框中,输入要创建的组名,在本例中为“windows 7 sp1 x32”。
26、然后定位到新创建的映像组,在右侧空白窗口中右击,在d出的快捷菜单中选择“添加安装映像”命令,如图26-1所示。
27.然后在光驱中换上windows 7 集成sp1 的32位版本,在“映像文件”对话框中浏览选择windows 7 安装光盘根目录中的 \sources、install.vim文件。
【说明】在Windows Vista 及其以后的 *** 作系统安装光盘的sources目录中,有两个映像文件,其中名为install.wim的是安装映像,名为boot.vim的是启动映像。
28.在“可用映像列表”对话框中,显示了可用的映像列表及描述信息。如果采用默认的名称和描述,请选中“使用每个选定映像的默认名称和说明”复选框的选择。如图28-1
29、如上图中取消了“使用每个选定映像的默认名称和说明”复选框的选择,则会d出“映像元数据”对话框,并依次显示每个映像的名称和说明,可以根据需要修改,如图29-1和29-2
30、在“摘要”对话框中显示要添加的映像,如图30-1所示
31、添加映像完成后,单击“完成”按钮如图31-1
32、如果要添加其他 *** 作系统的映像,强参照前面的步骤,创建映像组并添加映像,这些就不一一介绍了
四.在添加完映像后,需要添加启动映像。需要注意的是,并不是每次添加安装映像都要添加启动映像 .如果已经有“同版本”的启动映像,则不用添加。Windows 启动映像与安装映像的关 系是:
(1)windows 7 SP1与windows server 2008 R2 SP1的启动映像相同,是同一版本。目前该版本的启动映像可以启动并安装包括windows 7 SP1,windows server 2008 SP1 极其以前的 *** 作 系统。例如windows vista, windows server 2008 windows server 2008 R2等
(2)windows启动映像也分为32位和64位。32位启动映像可以装32位和64位 *** 作系统,而64位只能安装64位 *** 作系统。如果windows 部署服务中同时有32位和64位启动映像,则在使 用windows部署的时候,会自动侦测客户端的类型,如果符合64位要求,则会出现64位和32位启动映像的选择,让用户选择;如不符合64位要求,则会默认安装32位启动映像。
(3)在添加更新版本的启动映像之后,可以删除以前版本的启动映像
【接下来介绍添加启动映像的方法,以添加64位的Windows 7SP1的启动映像为例,步骤如下】
33、在“Windows 部署服务”中,定位到“启动映像”,在右侧空白窗格中右击“添加启动映像”如图33-1所示
34、在“映像文件”对话框中,从Windows 7 安装光盘中选择浏览选择名为boot.wimd的启动映像,如图34-1所示
35、在“添加元数据”对话框中显示了添加的映像名称和说明,用户也可以根据自己的需求或习惯进行定制。如图35-1
36、在“摘要”对话框中显示了要添加的影响的名称和位数(x64表示64位)如图36-1所示
37、添加完成后,单击“完成”按钮,完成镜像的添加。如图37-1所示
38、添加启动映像完成之后,返回到“Windows 部署服务”,在“启动映像”页显示了添加的映像,如图38-1所示
39、如果要删除不再使用的映像,可以右击该映像,在d出的快捷菜单中选择“删除”命令根据提示进行 *** 作即可,如图39-1
【下面介绍配置Windows部署服务 】
五、在添加完安装映像与启动映像后,右击服务器名,从快捷菜单中选择“属性”命令(见图39-2),可以用来配置Windows部署服务器
40、选择“PXE响应设置”选项卡,选中“响应所有(已知和未知)客户端计算”单选按钮,如图40-1所示
41、选择“目录服务”选项卡。在“新建客户端命令策略”选项区域中设置客户端计算机的命名原则,在“客户端账户位置”选项区域中设置将使用Windows部署服务远程安装 *** 作系统的计算机存放的位置。如图41-1所示
【说明】在以前的RIS服务器中,使用RIS部署的计算机只能保存在AD的computers容器中,而在Windows部署服务中,可以将使用windows部署服务安装 *** 作系统的计算机统一保存在一个容器 中。
42、在“启动”选项卡中,设置“默认启动映像”和“默认启动程序”通常选择默认的就可以,如图42- 1所示
43、在“高级”选项卡中,将选择Windows 部署服务使用AD服务器和是否对DHCP中授权,请选中“在DHCP中授权此windows部署服务服务器”单选按钮,如下图
44、在DHCP选项卡中设置DHCP服务,如果当前服务器上没有DHCP服务器,请选择两项。如图44-1所示
45、在“客户端”选项卡中,设置是否启用无人参与安装,如图45-1所示
设置完成后,单击“确定”按钮。完成Windows 部署服务器的设置,接下来创建一个windows 7虚拟机,在虚拟机中,通过网络安装windows 7 *** 作系统,主要步骤如下:
46.创建Windows 7虚拟机后,启动虚拟机,当出现Press F12 for networkserver boot时,按F12键,如图46-1所示
方法一:修改注册表在注册表编辑器,展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services",在右侧窗格中显示的就是本机安装的服务项。键困如果要新建服务,只须点击"编辑→新建→项" ,然后为此项命名,如"test";然后右击该项,选择"新建→字符串值"或"新建→Dword值"即可。添加一个服务项目具体需要添加的键值如下:"DisplayName",字符串值,对应服务名称;
"Description",字符串值,对应服务描述;
"ImagePath",字符串值,对应该服务程序所在的路径;
"ObjectName",字符串值,值为"LocalSystem",表示本地登录;
"ErrorControl",Dword值,值为"1";
"Start",Dword值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止;
"Type",Dword值,应用程序对应10,其它对应20。
另外,还要在"test"稿梁念项下新建一个"Enum"项。如果有些必须通过srvany来加载的还必须 添加另外的Parameters子项在该项中提供详细的要加为服务的程序所在的路径。而上面的那个 路渣正径就需要指到srvany所在的路径。
方法二:脚本 *** 作
sc create myserver binpath= c:\windows\Sc\myserver.exe
sc config myservers tart= auto
sc start myserver
方法三: 写注册表文件
现在很多的木马、后门、蠕虫病毒都是通过修改注册表中的RUN键值来实现自启动。
但是这种自启动模式不是很隐蔽的,稍微懂点安全的人,一般发现电脑被黑,都会查看RUN键值的。
于是系统服务便成为了一种相对隐蔽的自启动模式。比如冲击波杀手就采用系统服务来自启动病毒程序。
现在添加系统服务的工具很多,最典型的就是netservice。但是我们这里讲的是手工添加系统服务,所以工具的使用不在本文的讨论范围之内。
WINDOWS里的很多东西都是跟注册表息息相关的,系统服务也不例外。
系统服务跟以下的注册表几个项目相关:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services
我们完全可以找到在系统服务中已注册的服务的键值来依样画葫芦。
在以上任何注册表列中添加一个新项:
名字是你想要添加系统服务的名字,比如Backdoor。
在BACKDOOR项下新建一个字符串,数值名称Displayname 数值数据为要添加服务的
名称Backdoor。
下面列出一个表,会直观一些:
名称 类型 数据 备注
Displayname REG_SZ 想要添加服务的名称 想要添加服务的名称
Description REG_SZ 服务的描述 服务的描述
ImagePath REG EXPAND SZ 程序的路径
Start REG_DWORD 0,2,3,4 2代表自动启动,3代表手动启动服务.4代表禁用服务,0代表系统对底层设备驱动(一般不需要这个)
ErrorControl REG_DWORD 1
Type REG_DWORD 10 or 20 一般应用程序都是10,其他的对应20
ObjectName REG_SZ LocalSystem 显示本地登陆
注意:在XP/2003下可以完全手工来添加REG EXPAND SZ类型。在XP/2003下直接修改ImagePath 键值就可以了。但是在WIN2000下却不可以。原因我也不清楚:(。但是在WIN2000下我们写一个REG来直接注册系统服务,这样WIN2000下添加系统也能很轻松了。这里同样需要注意的是注册表文件里的ImagePath的数值类型必须是HEX(16进制)。可以拿WINHEX来把程序的绝对路径转换成16进制的。每一个数值用逗号搁开。比如我的ImagePath键值是C:\winnt\nukegroup.exe那就应该转换成:
63,3A,5C,77,69,6E,6E,74,5C,6E,75,6B,65,2E,65,78,65(无空格)
打开记事本,敲入以下内容:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\"want to create the name of service"]
"Type"=dword:00000010
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):63,3A,5C,77,69,6E,6E,74,5C,6E,75,6B,65,2E,65,78,65
"DisplayName"="SRVTEST"
"ObjectName"="LocalSystem"
"Description"="系统服务测试"
把以上信息保存为addsrv.reg,我们就可以依靠命令来导入注册表,从而达到添加系统服务的目的。
我们在命令控制台输入regedit /s addsrv.reg,等机器重新启动,这个服务就被成功添加了。
但是我在真正实验的时候就遇到困难了。ImagePath的数值是乱码(1)(2),
怎么想也不明白。但是这时可以把乱码修改成绝对路径了。如果直接把REG信息写成这样
"ImagePath"=hex(2):C:\WINNT\NUKEGROUP.EXE
其他的键值都可以添加,这个键值就不可以了?总之我们可以先添加乱码的ImagePath,然后再修改成C:\winnt\nukegroup.exe 这样也不是不可能的。就是在命令行下来添加就很麻烦了。(3)
以上是Windows 2000手工添加系统服务的方法,对于Windows 98 注册表结构是不一样的,但是Windows 98仍然可以通过注册表来实现添加系统服务,而且还要更简单一些。
在项目“HKLM/SOFTWARE/Microsoft/WindowsCurrentVersion/RunServices”下添加一个新字符串数值。
比如,如果程序的名字叫做“BACKDOOR”,就建立一个名为“BACKDOOR”的字符串数值,然后在数据域中输入执行程序的完整路径。
手工添加一个系统服务就这么简单,手工删除系统也是一个道理。通过注册表来实现,这里就不多说了。
安装Winfows服务首先要添加安装程序,添加安装程序步骤如下:
1、将Windows服务程序切换到设计视图, 右击设计视图选择“添加安装程序”
2、切换到刚被添加的ProjectInstaller的设计视图
一般设置如下:
设置serviceInstaller1组件的属性:
1) ServiceName = 服务名称
2) StartType = Automatic ,即自动
设置serviceProcessInstaller1组件的属性
1) Account = LocalSystem,账户一般设置为本地系统
3、生成解决方案
安装服务:
方法一、使用DOS命令安装window服务
1、在服务所在的文件夹下的bin\debug文件夹下找到.exe文件(例如WindowsService1.exe)
将此文件拷燃咐厅贝到你想安装的文件夹中。
2、进入DOS界面
(VS2008-->Visual Studio Tools-->Visual Studio 2008 命令提示)来进入DOS,直接用cmd可能有些命令找不到;
3、输入
方法二、使用安装项目安装windows服务
个人比较推荐这个方法,选择目录安装更灵活,而且不用在DOS环境下运行。
因为本人比较懒,直接给出别人总结的地址
注意,以后每次服务项目有更改的时候,需要编译服务后,在安装项目中刷新依赖项!!!
方法三、
在ProjectInstaller.cs的后台代码中添加安装服务和卸载服务的代码
/// <summary>
/// 安装服务
/// </summary>
/// <param name="stateSaver"></param>
public override void Install(System.Collections.IDictionary stateSaver)
{
Microsoft.Win32.RegistryKey system,
//HKEY_LOCAL_MACHINE\Services\CurrentControlSet
currentControlSet,
//...\Services
services,
//...\<Service Name>
service,
//...\Parameters 皮隐- this is where you can put service-specific configuration
config
try
{
//Let the project installer do its job
base.Install(stateSaver)
//Open the HKEY_LOCAL_MACHINE\SYSTEM key
system = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("System")
//Open CurrentControlSet
currentControlSet = system.OpenSubKey("CurrentControlSet")
//Go to the services key
services = currentControlSet.OpenSubKey("Services")
//Open the key for your service, and allow writing
service = services.OpenSubKey(conServiceName, true)
//Add your service's description as a REG_SZ value named "Description"
service.SetValue("Description", "描述语言")
//(Optional) Add some custom information your service will use...
config = service.CreateSubKey("Parameters")
}
catch (Exception e)
{
Console.WriteLine("An exception was thrown during service installation:\n" + e.ToString())
}
}
/// <summary>
/// 卸载服务
/// </summary>
/// <param name="savedState"简腊></param>
public override void Uninstall(System.Collections.IDictionary savedState)
{
Microsoft.Win32.RegistryKey system,
currentControlSet,
services,
service
try
{
//Drill down to the service key and open it with write permission
system = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("System")
currentControlSet = system.OpenSubKey("CurrentControlSet")
services = currentControlSet.OpenSubKey("Services")
service = services.OpenSubKey(conServiceName, true)
//Delete any keys you created during installation (or that your service created)
service.DeleteSubKeyTree("Parameters")
//...
}
catch (Exception e)
{
Console.WriteLine("Exception encountered while uninstalling service:\n" + e.ToString())
}
finally
{
//Let the project installer do its job
base.Uninstall(savedState)
}
}
代码添加完成后
添加window service安装的批处理命令
1)在项目添加一个文本文件,更名为install.bat,编辑文件的内容如下:
@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -i "WindowsService1.exe"
@pause
2)在项目添加一个文本文件,更名为uninstall.bat,编辑文件的内容如下
@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u "WindowsService1.exe"
@pause
说明:上面绿色字体为服务名称
编译完成后将debug的文件拷贝到想安装的目录下,点击install.bat即完成安装。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)