1、打开控制台(“开始”|“运行”中输入:MMC)

2、“文件”菜单|“添加删除管理单元”|“添加...”|选“安全模板”|“关闭”。

3、在“C:\Windows\Security\templates”节点上,右键“新建模板...”,在弹出的对话框中“模板名”中输入:new,确定。

4、打开“New|本地策略|用户权利指派”节点,在右侧的“作为服务器登录”中添加要赋予该权限的用户。

5、然后,在“New”节点上单击右键,选“另存为...”保存到“C:\Sec.inf”。

6、建立批处理文档中输入:secedit configure /db secedit.sdb /cfg c:\Sec.inf

这两天新项目中用到了SQLServer数据库同步功能,要求程序在安装过程中自动添加SQLServerAgent服务的登录账户。

下面将SetupFactory中写的代码写出来,供参考。


 --安装MSDE2000
if (not Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\MSSQLServer\\Setup")) then
    Shell.Execute(SessionVar.Expand("%AppFolder%\\MSDE2000\\setup.exe"), "open", "", "", SW_SHOWNORMAL, true);
end
--重启后附加数据库,及自动添加同步作业。
File.RunOnReboot(SessionVar.Expand("C:\\Program Files\\数据库\\Setup.cmd"), "");
--添加Windows用户
Shell.Execute("net", "open", "user SQLAgent 123456 /add /passwordreq:yes /passwordchg:no /expires:never", "", SW_MINIMIZE, true);
--将用户添加到Administrator组中
Shell.Execute("net", "open", "localgroup Administrators SQLAgent /add", "", SW_MINIMIZE, true);
--设置SQLServerAgent服务的登录帐号,密码,及启动类型为自动。
Shell.Execute("sc", "open", "config SQLSERVERAGENT start= auto obj= .\\SQLAgent password= 123456", "", SW_MINIMIZE, true);
--在Windows启动时隐藏该用户。
Shell.Execute("regedit", "open", "/s C:\\HideSQLAgent.reg", "", SW_MINIMIZE, true);
--赋予该用户"以服务登录的权利"和"拒绝本地登录"
Shell.Execute("secedit", "open", "/configure /db secedit.sdb /cfg c:\\Sec.inf", "", SW_MINIMIZE, true);
--清理临时文件
Folder.DeleteTree(SessionVar.Expand("%AppFolder%\\MSDE2000"), nil);
File.DeleteOnReboot("C:\\HideSQLAgent.reg");
File.DeleteOnReboot("c:\\Sec.inf");
--安装完毕后要求重新启动计算机
_NeedsReboot = true;

http://www.cnblogs.com/pegger/archive/2009/02/18/1393052.html

命令行添加用户的“作为服务登录”权利(添加Windows用户的时候,门道不是一般的多)good的更多相关文章

  1. 如何在cmd命令行中查看、修改、删除与添加环境变量,语法格式例子:set path;echo %APPDATA%

    如何在cmd命令行中查看.修改.删除与添加环境变量 首先明确一点: 所有的在cmd命令行下对环境变量的修改只对当前窗口有效,不是永久性的修改.也就是说当关闭此cmd命令行窗口后,将不再起作用.永久性修 ...

  2. 无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它

    无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer.Windows服务器管理工具或NET START命令启动它 1. ...

  3. 通过dotnet命令行设置asp.net core服务的启动地址

    需求: 通过dotnet命令行启动asp.net core 服务时,自定义监听端口. 方法: 在program.cs中增加命令行参数配置: WebHost.CreateDefaultBuilder(a ...

  4. 1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间; 2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和; 3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时

    1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间: 2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时 ...

  5. Windows 如何在cmd命令行中查看、修改、删除与添加环境变量

    转自:http://www.cnblogs.com/saptechnique/archive/2013/02/17/2914222.html 首先明确一点: 所有的在cmd命令行下对环境变量的修改只对 ...

  6. RHEL 7 命令行注册和激活订阅服务

    导读 前一阵子,红帽推出了开发者免费使用订阅功能,只要注册成为红帽开发者就可以免费使用包括  RHEL7  在内的开发套件. 今天我们就来看一看怎么使用命令行来快速注册和激活订阅服务,以后就可以方便地 ...

  7. window下命令行的方式安装svn服务端

    下载Binary Packages类型的 安装文件  https://www.visualsvn.com/server/download/  自己选择版本 第一步 :开始安装到 c:/software ...

  8. Windows如何在cmd命令行中查看、修改、删除与添加、设置环境变量

    首先明确一点: 所有的在cmd命令行下对环境变量的修改只对当前窗口有效,不是永久性的修改.也就是说当关闭此cmd命令行窗口后,将不再起作用.永久性修改环境变量的方法有两种:一种是直接修改注册表(此种方 ...

  9. SQL Server2008 R2命令行启动及停止SQL服务的方法

    ===================================================== 在 SQL Server中,想要启动或停止SQL Server服务,通过SQL Server ...

随机推荐

  1. NodeJS文件读取:感恩常在--抓把糖果,愉悦客人

    通过上一篇文章“NodeJS服务器:一行代码 = 一个的HTTP服务器”,我们已经开启了NodeJS之旅,开发了一个监听在8000端口的HTTP服务器,虽然功能很简单,但是,已经让我们感受到用Node ...

  2. 抛弃 CSS Hacks 后的浏览器兼容方案

    一般情况下的浏览器兼容需要考虑 IE6/7/8 三种 IE 版本,当然在 IE9 开始逐步推向市场后,又会有更多的衍生版本.所以我目前只考虑 IE7~9 版本的兼容情况.涉及到的条件注释代码如下: & ...

  3. SpringInAction读书笔记--第1章Spring之旅

    1.简化Java开发 Spring是一个开源框架,它的根本使命在于简化java开发.为了降低java开发的复杂性,Spring采取了以下4种关键策略: 基于POJO的轻量级和最小侵入性编程      ...

  4. C++ typedef用法小结

    一.typedef的四个用法 用法一: 为复杂的声明定义一个新的简单的别名.方法是:在原来的声明里逐步用别名替换一部分复杂声明,如此循环,把带变量名的部分留到最后替换,得到的就是原声明的最简化版.举例 ...

  5. NTT研发

    2.研发标准 stead---大型机 css terasolunt---反向自动生成设计书 3.开发阶段做好设计,确定需求,测试阶段只是做产品有多差或者完成了多少需求,不是用来提高产品质量的过程

  6. L001-oldboy-mysql-dba-lesson01

          L001-oldboy-mysql-dba-lesson01 <sql应用重构>经典的书 ,思想,封顶境界! mysql下载页面: http://www.filewatcher ...

  7. 防止非授权用户调用DLL

    1.首先要创建一个密钥文件(*.snk)

  8. pdf转chm的实现方法

    相比pdf, CHM电子书在Windows系统下不需要安装额外的浏览器即可进行阅读,其内容是基于浏览器的风格,更容易被用户所接受.而且, 具有更强大的功能配置,比如可提供强大的全文搜索.索引.书签等的 ...

  9. compared woth QPSK, what is the advantages of QAM(16QAM or 64QAM?)

    1.QPSK QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式.在数字信号的调制方式中QPSK四相移键控是目前最常用的一种卫星 ...

  10. Kinetic使用注意点--lable

    new Lable(config) 参数: config:包含所有配置项的对象. { x: "横坐标", y: "纵坐标", width: "宽度&q ...