前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用powershell代码配置组策略Windows关机脚本实现关机时释放IP

用powershell代码配置组策略Windows关机脚本实现关机时释放IP

原创
作者头像
Windows技术交流
修改2024-02-29 19:59:08
修改2024-02-29 19:59:08
74600
代码可运行
举报
文章被收录于专栏:Windows技术交流Windows技术交流
运行总次数:0
代码可运行

背景:做windows自定义镜像,一般是需要在关机做镜像前执行ipconfig /release来释放ip的,这样好保证下次基于此镜像买的新机器能在dhcp环节获取ip的健壮性,频繁做镜像的情况下,总是会忘记在做镜像前释放ip,因此想了个办法,就是通过配置组策略关机脚本来实现关机前释放ip

https://support.huaweicloud.com/bestpractice-ims/ims_bp_0011.html

华为云就把这点写到了他们官网

如果有条件,关机做镜像前最好手动执行ipconfig /release命令

加到关机脚本自动执行是防止做镜像前疑问执行这句命令

但是关机脚本在一些特定情况下可能执行不到,比如强制关机(有些人就喜欢强制关机做镜像)或者特殊情况关机没有执行到关机脚本

先确保没有其他干扰吧,一开始就是干净的啥都没有的情况下,dhcp分配还能分配错吗

假如没有组策略关机脚本的话,顺序就是0,如果有,要适当调整下代码,使序号不覆盖其他的关机脚本

如下代码适用中文版系统,大致思路就是:通过图形界面配置组策略关机脚本很简单,配置过程中用procmon监测到注册表路径有2个(后面的\0\0应该是顺序,反正我就一个脚本而已,不用考虑顺序,如果是多个,具体顺序你得调数字)

代码语言:javascript
代码运行次数:0
运行
复制
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown\0\0
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0\0

gpedit.msc→ 计算机配置→ Windows设置→ 脚本(启动/关机)→ 关机→ 添加→ 选择脚本位置

代码语言:javascript
代码运行次数:0
运行
复制
mkdir -force C:\Scripts\
$scriptsPath = "C:\Scripts"
if (!(Test-Path $scriptsPath)) {
    New-Item -ItemType Directory -Path $scriptsPath
}

#$batContent = "@echo off`r`nipconfig /release"
$batContent = "@echo off`r`necho %date% %time% >> C:\Scripts\log.txt`r`nipconfig /release"
$batPath = Join-Path $scriptsPath "release-ip.bat"
Set-Content -Path $batPath -Value $batContent -Encoding ASCII


$shutdownScriptsPath1 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Shutdown\0\0"
if (!(Test-Path $shutdownScriptsPath1)) {
    New-Item -Path $shutdownScriptsPath1 -Force
}

$shutdownScriptsPath2 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0\0"
if (!(Test-Path $shutdownScriptsPath2)) {
    New-Item -Path $shutdownScriptsPath2 -Force
}

wget http://windows-1251783334.cos.ap-shanghai.myqcloud.com/releaseip.reg -Outfile c:\releaseip.reg
reg import c:\releaseip.reg

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档