win7在哪添加终端服务器啊?

win7在哪添加终端服务器啊?,第1张

1.在桌面上点击“开始”,然后移动到“所有程序”。

2、拖动鼠标滚动条,查找附件,在附件文件夹中继续查找程序【远程桌面连接】,经常使用可以发送到桌面快捷方式,方便以后使用。

3.您还可以使用快捷键[Win+R]调出并运行,然后输入[MSTSC]进行输入。

4.在远程连接界面,点击【显示选项】,在计算机中输入远程服务器的IP地址和用户名。

5、然后会提示您输入密码,输入您的服务器密码,不知道密码的可以到服务器提供商的后台去更改密码。检查[记住凭证],远程不需要再次输入密码。

6.服务器接口在连接成功后出现。

注意事项:

telnet服务器即远程登录服务器,登录计算机成为服务器的终端。

   当我们创建一个WINDOWS服务后 却发觉我们所创建的服务没有相关的描述 (你可以打开服务管理器程序查看) 而System ServiceProcess ServiceBase这些相关的类都没有提供这方面的信息 同样如果我们需要给我们的服务加上恰当的描述 我们也只能通过非托管代码来处理

using Systemusing System Runtime InteropServices

namespace FileWatchService{ public class modAPI {  [DllImport( advapi dll )]  public static extern int LockServiceDatabase(int hSCManager)   [DllImport( advapi dll )]  public static extern bool UnlockServiceDatabase(int hSCManager)   [DllImport( kernel dll )]  public static extern void CopyMemory(IntPtr pDst SC_ACTION[] pSrc int ByteLen)   [DllImport( advapi dll )]  public static extern bool ChangeServiceConfigA(   int hService ServiceType dwServiceType int dwStartType    int dwErrorControl string lpBinaryPathName string lpLoadOrderGroup    int lpdwTagId string lpDependencies string lpServiceStartName    string lpPassword string lpDisplayName)      [DllImport( advapi dll )]  public static extern bool ChangeServiceConfig A(   int hService InfoLevel dwInfoLevel    [MarshalAs(UnmanagedType Struct)] ref SERVICE_DESCRIPTION lpInfo)

[DllImport( advapi dll )]  public static extern bool ChangeServiceConfig A(   int hService InfoLevel dwInfoLevel    [MarshalAs(UnmanagedType Struct)] ref SERVICE_FAILURE_ACTIONS lpInfo)

[DllImport( advapi dll )]  public static extern int OpenServiceA(   int hSCManager string lpServiceName ACCESS_TYPE dwDesiredAccess)

[DllImport( advapi dll )]  public static extern int OpenSCManagerA(   string lpMachineName string lpDatabaseName ServiceControlManagerType dwDesiredAccess)

[DllImport( advapi dll )]  public static extern bool CloseServiceHandle(   int hSCObject)

[DllImport( advapi dll )]  public static extern bool QueryServiceConfigA(   int hService [MarshalAs(UnmanagedType Struct)] ref QUERY_SERVICE_CONFIG lpServiceConfig int cbBufSize    int pcbBytesNeeded)  [DllImport( advapi dll )]  public static extern int StartService(int SVHANDLE int dwNumServiceArgs string lpServiceArgVectors)

public const int STANDARD_RIGHTS_REQUIRED = xF   public const int GENERIC_READ =   public const int ERROR_INSUFFICIENT_BUFFER =   public const int SERVICE_NO_CHANGE =   //public const int SERVICE_NO_CHANGE = xFFFF

public enum ServiceType  {   SERVICE_KERNEL_DRIVER = x    SERVICE_FILE_SYSTEM_DRIVER = x    SERVICE_WIN _OWN_PROCESS = x    SERVICE_WIN _SHARE_PROCESS = x    SERVICE_INTERACTIVE_PROCESS = x    SERVICETYPE_NO_CHANGE = SERVICE_NO_CHANGE  }

public enum ServiceStartType:int  {   SERVICE_BOOT_START = x    SERVICE_SYSTEM_START = x    SERVICE_AUTO_START = x    SERVICE_DEMAND_START = x    SERVICE_DISABLED = x    SERVICESTARTTYPE_NO_CHANGE = SERVICE_NO_CHANGE  }

public enum ServiceErrorControl:int  {   SERVICE_ERROR_IGNORE = x    SERVICE_ERROR_NORMAL = x    SERVICE_ERROR_SEVERE = x    SERVICE_ERROR_CRITICAL = x    msidbServiceInstallErrorControlVital = x    SERVICEERRORCONTROL_NO_CHANGE = SERVICE_NO_CHANGE  }

public enum ServiceStateRequest:int  {   SERVICE_ACTIVE = x    SERVICE_INACTIVE = x    SERVICE_STATE_ALL = (SERVICE_ACTIVE + SERVICE_INACTIVE)  }

public enum ServiceControlType:int  {   SERVICE_CONTROL_STOP = x    SERVICE_CONTROL_PAUSE = x    SERVICE_CONTROL_CONTINUE = x    SERVICE_CONTROL_INTERROGATE = x    SERVICE_CONTROL_SHUTDOWN = x    SERVICE_CONTROL_PARAMCHANGE = x    SERVICE_CONTROL_NETBINDADD = x    SERVICE_CONTROL_NETBINDREMOVE = x    SERVICE_CONTROL_NETBINDENABLE = x    SERVICE_CONTROL_NETBINDDISABLE = xA    SERVICE_CONTROL_DEVICEEVENT = xB    SERVICE_CONTROL_HARDWAREPROFILECHANGE = xC    SERVICE_CONTROL_POWEREVENT = xD    SERVICE_CONTROL_SESSIONCHANGE = xE   }

public enum ServiceState:int  {   SERVICE_STOPPED = x    SERVICE_START_PENDING = x    SERVICE_STOP_PENDING = x    SERVICE_RUNNING = x    SERVICE_CONTINUE_PENDING = x    SERVICE_PAUSE_PENDING = x    SERVICE_PAUSED = x   }

public enum ServiceControlAccepted:int  {   SERVICE_ACCEPT_STOP = x    SERVICE_ACCEPT_PAUSE_CONTINUE = x    SERVICE_ACCEPT_SHUTDOWN = x    SERVICE_ACCEPT_PARAMCHANGE = x    SERVICE_ACCEPT_NETBINDCHANGE = x    SERVICE_ACCEPT_HARDWAREPROFILECHANGE = x    SERVICE_ACCEPT_POWEREVENT = x    SERVICE_ACCEPT_SESSIONCHANGE = x   }

public enum ServiceControlManagerType:int  {   SC_MANAGER_CONNECT = x    SC_MANAGER_CREATE_SERVICE = x    SC_MANAGER_ENUMERATE_SERVICE = x    SC_MANAGER_LOCK = x    SC_MANAGER_QUERY_LOCK_STATUS = x    SC_MANAGER_MODIFY_BOOT_CONFIG = x    SC_MANAGER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED + SC_MANAGER_CONNECT + SC_MANAGER_CREATE_SERVICE + SC_MANAGER_ENUMERATE_SERVICE + SC_MANAGER_LOCK + SC_MANAGER_QUERY_LOCK_STATUS + SC_MANAGER_MODIFY_BOOT_CONFIG  }

public enum ACCESS_TYPE:int  {   SERVICE_QUERY_CONFIG = x    SERVICE_CHANGE_CONFIG = x    SERVICE_QUERY_STATUS = x    SERVICE_ENUMERATE_DEPENDENTS = x    SERVICE_START = x    SERVICE_STOP = x    SERVICE_PAUSE_CONTINUE = x    SERVICE_INTERROGATE = x    SERVICE_USER_DEFINED_CONTROL = x    SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED + SERVICE_QUERY_CONFIG + SERVICE_CHANGE_CONFIG + SERVICE_QUERY_STATUS + SERVICE_ENUMERATE_DEPENDENTS + SERVICE_START + SERVICE_STOP + SERVICE_PAUSE_CONTINUE + SERVICE_INTERROGATE + SERVICE_USER_DEFINED_CONTROL  }

[StructLayout(LayoutKind Sequential)]   public struct SERVICE_STATUS  {   public int dwServiceType   public int dwCurrentState   public int dwControlsAccepted   public int dwWin ExitCode   public int dwServiceSpecificExitCode   public int dwCheckPoint   public int dwWaitHint  }   [StructLayout(LayoutKind Sequential)]   public struct QUERY_SERVICE_CONFIG  {   public int dwServiceType   public int dwStartType   public int dwErrorControl   public string lpBinaryPathName   public string lpLoadOrderGroup   public int dwTagId   public string lpDependencies   public string lpServiceStartName   public string lpDisplayName  }

public enum SC_ACTION_TYPE:int  {   SC_ACTION_NONE =    SC_ACTION_RESTART =    SC_ACTION_REBOOT =    SC_ACTION_RUN_MAND =   }

[StructLayout(LayoutKind Sequential)]   public struct SC_ACTION  {   public SC_ACTION_TYPE SCActionType   public int Delay  }

public enum InfoLevel:int  {   SERVICE_CONFIG_DESCRIPTION =    SERVICE_CONFIG_FAILURE_ACTIONS =   }

[StructLayout(LayoutKind Sequential)]   public struct SERVICE_DESCRIPTION  {   public string lpDescription  }

[StructLayout(LayoutKind Sequential)]   public struct SERVICE_FAILURE_ACTIONS  {   public int dwResetPeriod   public string lpRebootMsg   public string lpCommand   public int cActions   public int lpsaActions  } }}

当我们给服务增加安装包时 我们可以在ProjectInstaller里加上我们修改服务描述的代码

private void InitializeComponent()  {

//这里要增加代码this AfterInstall += new System Configuration Install InstallEventHandler(this ProjectInstaller_AfterInstall)

}

private void ProjectInstaller_AfterInstall(object sender System Configuration Install InstallEventArgs e)  {

int iSCManagerHandle =    int iSCManagerLockHandle =    int iServiceHandle =    bool bChangeServiceConfig = false   bool bChangeServiceConfig = false   modAPI SERVICE_DESCRIPTION ServiceDescription   modAPI SERVICE_FAILURE_ACTIONS ServiceFailureActions   modAPI SC_ACTION[] ScActions = new modAPI SC_ACTION[ ]

bool bCloseService = false   bool bUnlockSCManager = false   bool bCloseSCManager = false

IntPtr iScActionsPointer = new IntPtr()

try   {    //打开服务控制台    iSCManagerHandle = modAPI OpenSCManagerA(null null      modAPI ServiceControlManagerType SC_MANAGER_ALL_ACCESS)

    if (iSCManagerHandle <)    {     throw new Exception( 不能打开服务管理器 )    }

    iSCManagerLockHandle = modAPI LockServiceDatabase(iSCManagerHandle)

    if (iSCManagerLockHandle <)    {     throw new Exception( 不能锁定服务管理器 )    }

//服务名    iServiceHandle = modAPI OpenServiceA(iSCManagerHandle JadeWatchService      modAPI ACCESS_TYPE SERVICE_ALL_ACCESS)

    if (iServiceHandle <)    {     throw new Exception( 不能打开服务进行修改 )    }        bChangeServiceConfig = modAPI ChangeServiceConfigA(iServiceHandle      modAPI ServiceType SERVICE_WIN _OWN_PROCESS | modAPI ServiceType SERVICE_INTERACTIVE_PROCESS      modAPI SERVICE_NO_CHANGE modAPI SERVICE_NO_CHANGE null null      null null null null)

    if (bChangeServiceConfig==false)    {     throw new Exception( 不能改变服务设置 )    }

    ServiceDescription lpDescription = 青鸟文件监控服务 如果停止该服务 数据将不能正常进行备份!

bChangeServiceConfig = modAPI ChangeServiceConfig A(iServiceHandle      modAPI InfoLevel SERVICE_CONFIG_DESCRIPTION ref ServiceDescription)

    if (bChangeServiceConfig ==false)    {     throw new Exception( 不能进行服务描述更改 )    } 

    ServiceFailureActions dwResetPeriod =     ServiceFailureActions lpRebootMsg = 服务启动失败! 重启中     // ServiceFailureActions lpCommand = SomeCommand exe Param Param     ServiceFailureActions lpCommand =     ServiceFailureActions cActions = ScActions Length

//故障恢复设置 这里没有设置    ScActions[ ] Delay =     ScActions[ ] SCActionType = modAPI SC_ACTION_TYPE SC_ACTION_NONE//不要对失败 *** 作做任何处理 如果重启服务等    ScActions[ ] Delay =     ScActions[ ] SCActionType = modAPI SC_ACTION_TYPE SC_ACTION_NONE    ScActions[ ] Delay =     ScActions[ ] SCActionType = modAPI SC_ACTION_TYPE SC_ACTION_NONE

    iScActionsPointer = Marshal AllocHGlobal(Marshal SizeOf(new modAPI SC_ACTION()) * )

    modAPI CopyMemory(iScActionsPointer ScActions Marshal SizeOf(new modAPI SC_ACTION()) * )

ServiceFailureActions lpsaActions = iScActionsPointer ToInt ()

    bChangeServiceConfig = modAPI ChangeServiceConfig A(iServiceHandle      modAPI InfoLevel SERVICE_CONFIG_FAILURE_ACTIONS ref ServiceFailureActions)

    if (bChangeServiceConfig ==false)    {     throw new Exception( 不能设置服务的故障恢复设置 )    }       }   catch(Exception ex)   {        throw new Exception(ex Message)   }   finally   {        Marshal FreeHGlobal(iScActionsPointer)

if (iServiceHandle >)    {     bCloseService = modAPI CloseServiceHandle(iServiceHandle)    }

if (iSCManagerLockHandle >)    {     bUnlockSCManager = modAPI UnlockServiceDatabase(iSCManagerLockHandle)    }

if (iSCManagerHandle != )    {     bCloseSCManager = modAPI CloseServiceHandle(iSCManagerHandle)    }   }     }

在安装完成后 我们对服务进行 这里可以修改的内容包括服务的描述 服务的故障处理等

如果你在安装时 需要对服务进行自动处于运行状态 或卸载时需要自动将服务也卸载 你只要注册

this beforeuninstall+=new InstallEventHandler(ProjectInstaller_BeforeUninstall)   this Committed+=new InstallEventHandler(ProjectInstaller_Committed)

这二个事件

mitted事件 在这里可以将安装的服务进行调整到运行状态

lishixinzhi/Article/program/net/201311/13252

一、安装Windows部署服务(WDS)

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所示


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11173405.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存