定期修改Windows密码和SQL Server密码

这篇博客介绍了如何定期更改Windows密码和SQL Server密码,包括使用命令行修改Windows密码,通过SQL脚本检查并更新SQL Server登录密码。还讲述了如何用VS编写小程序批量处理,通过读取注册表获取SQL实例列表,并设置计划任务每月执行一次。

工作需要,Server和SQL Server的密码需要每月变化,记录一下实现思路。

修改Windows密码

可以用以下命令来实现:

net user [YourName] [YourPassword]

修改SQL Server密码

首先判断用户是否存在,如果存在就修改,如果不存在就创建:

IF EXISTS (SELECT 1 FROM MASTER.DBO.SYSXLOGINS WHERE NAME=N'{0}')
BEGIN
    ALTER LOGIN [YourName] WITH PASSWORD=N'YourPassword'
END
ELSE
BEGIN
    CREATE LOGIN [YourName] WITH PASSWORD=N'YourPassword', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
    EXEC master..sp_addsrvrolemember @loginame = N'YourName', @rolename = N'sysadmin'
END
GO

思路实现:

由于要批量修改服务器,所以用VS写个小程序来实现:

1. 建立密码表,预先设定或者自动生成密码

2. 用Process 调用net.exe, 拼接参数来修改windows密码,获取执行后结果,然后记录到日志中

3. 通过注册表来枚举出服务器上安装的SQL Instance,然后循环连接执行SQL,并捕捉错误记录到日志中。

SQL Instance List在注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\InstalledInstances

可以直接读取注册表来获取到列表:

using Microsoft.Win32;

var sql_instance_list = (string[])(Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Microsoft SQL Server").GetValue("InstalledInstances"));

调用SqlConnection来连接执行SQL即可。

4. 设置计划任务,以SYSTEM用户每月1日1:00执行,记录日志(发送邮件给管理通知)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值