使用PowerShell 修改DNS并加入域中
运行环境:Windows Server 2012 R2
此powershell脚本为自动修改本机DNS并加入到域中
但有的时候会提示【本地计算机当前不是域的一部分。请重新执行脚本!】错误,如遇到该错误可按照提示重新执行脚本
若多次执行后还是报错,错误原因是脚本将本机加入到域中,但是域控中未出现本机所致
终级解决方案:退出域后手动加域,这种方式大概率在域控中能找到本机
# 自动修改本机DNS并加入到域中
# author:lttr <www.cnblogs.com/GoCircle>
# date:2019-08-09
# eg.
# C:\domain.ps1 -DNS "1.1.1.1","2.2.2.2" -Domain "test.com" -UserName "admin" -Password "123" [CmdletBinding()]
param
(
# DNS列表,可设置两个
[Parameter(Mandatory=$true,Position=0)][string[]]$DNS,
# 域名
[Parameter(Mandatory=$true,Position=1)][string]$Domain,
# 域账户
[Parameter(Mandatory=$true,Position=2)][string]$UserName,
# 域账户密码
[Parameter(Mandatory=$true,Position=3)][SecureString]$Password
) $wmi = Get-WmiObject win32_networkadapterconfiguration -filter "ipenabled = 'true'"
#设置DNS
$wmi.SetDNSServerSearchOrder($DNS)>$null
# 验证DNS是否设置成功
if(($wmi.DNSServerSearchOrder | ForEach-Object{ $DNS -Match $_ }).Count -eq $DNS.Count){
write-host "DNS success"
#加入域
$pwd = $Password | ConvertTo-SecureString -asPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential("$Domain\$UserName",$pwd)
$server = (Get-WmiObject -Class Win32_ComputerSystem | Select-Object Name).Name
Add-Computer -ComputerName $server -DomainName $Domain -Credential $credential -PassThru -Verbose -ErrorAction SilentlyContinue -WarningAction silentlyContinue
Start-Sleep -Seconds 3 # 测试是否加入到域中
try{
if(Test-ComputerSecureChannel -Server "$server.$Domain"){
Reset-ComputerMachinePassword -Server $Domain -Credential $credential
write-host success!
pause
Restart-Computer -Force
}else{
Write-Warning "本地计算机当前不是域的一部分。请重新执行脚本!"
}
}catch{
Write-Warning "本地计算机当前不是域的一部分。请重新执行脚本!"
} }else{
Write-Warning "DNS设置失败,请重新执行脚本!"
}
使用PowerShell 修改DNS并加入域中的更多相关文章
- POWERSHELL将域中的计算机移动到指定OU
POWERSHELL处理域中计算机的过程 由于集团公司规模较大,存在几个分公司并处在不同地理位置.采用域集中管理,各分公司都有自己的域控制器,分别负责各分公司的DNS解析,DHCP地址分配,及客户端登 ...
- .net 修改AD域中的密码
1.通过vs 2013 新建一个web站点(不是空项目),这个会带一下模板, 2.然后新建一个页面UpdatePassWord.aspx aspx页面内容: <%@ Page Title=&qu ...
- win2008加入域控之尝试解析加入域中域控制器的dns名称失败解决办法
记录下今天遇到以前没遇到的问题 加入域的时候提示“尝试解析加入域中控制器的DNS”名称失败 可能的原因: 如果确认dns没问题 dc正常访问,那可能就是因为域控制器无法向dns注册srv记录. SRV ...
- 域账号修改后,导致vs中的git连接失败
域账号修改后,导致vs中的git连接失败, fatal: Authentication failed for https://blog.csdn.net/qq_34665539/article/det ...
- windows server 2008 R2域中的DC部署 分类: AD域 Windows服务 2015-06-06 21:09 68人阅读 评论(0) 收藏
整个晚上脑子都有点呆滞,想起申请注册好的博客还从来都不曾打理,上来添添生机.从哪里讲起呢,去年有那么一段时间整个人就陷在域里拔不出来,于是整理了一些文档,害怕自己糊里糊涂的脑子将这些东西会在一觉醒来全 ...
- Linux 如何查看修改DNS配置
DNS服务器介绍 DNS是计算机域名系统(Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的.域名服务器是指保存有该网络中所有 ...
- centos 修改DNS,网关,IP地址
1.CentOS 修改DNS 修改对应网卡的DNS的配置文件 # vi /etc/resolv.conf 修改以下内容 nameserver 8.8.8.8 #google域名服务器 nameser ...
- CentOS 设置网络(修改IP&修改网关&修改DNS)--update.14.08.15
自己电脑上装的虚拟机用桥接方式连接物理机,虚拟机重启后ip会发生变化,非常阻碍Xshell的连接和hosts指定的dns. 通过修改IP为static模式,保持IP不变. ============== ...
- CentOS 修改DNS,固定IP等操作(网络)
1.修改DNS 修改对应网卡的DNS的配置文件 vi /etc/resolv.conf 内容格式(西工大) nameserver 114.114.114.114 nameserver 202.117. ...
随机推荐
- CF732D Exams 二分 贪心
思路:二分+贪心 提交次数:10次以上 错因:刚开始以为二分(边界,$+1or-1$)写错了,调了半天,后来才发现是$ck()$写错了.开始只判了最后是否小于零,而应该中间一旦小于零就$return\ ...
- 51 Nod 1191消灭兔子
1191 消灭兔子 1 秒 131,072 KB 40 分 4 级题 有N只兔子,每只有一个血量B[i],需要用箭杀死免子.有M种不同类型的箭可以选择,每种箭对兔子的伤害值分别为D[i],价格为P[i ...
- Python面试题:使用栈处理括号匹配问题
括号匹配是栈应用的一个经典问题, 题目 判断一个文本中的括号是否闭合, 如: text = "({[({{abc}})][{1}]})2([]){({[]})}[]", 判断所有括 ...
- Codeforces 1009 F. Dominant Indices(长链剖分/树上启发式合并)
F. Dominant Indices 题意: 给一颗无向树,根为1.对于每个节点,求其子树中,哪个距离下的节点数量最多.数量相同时,取较小的那个距离. 题目: 这类题一般的做法是树上的启发式合并,复 ...
- Qt5.11.2 VS2015编译activemq发送程序 _ITERATOR_DEBUG_LEVEL错误和崩溃解决
1.问题描述: 运行环境是 win10 64位系统,开发环境是VS2015 ,Qt 5.11.2.开发activemq发送程序,遇到问题 (1)Qt5AxContainer.lib error LNK ...
- 子类中执行父类的方法(引出super()与mro列表)
1. 我们先想一下在python中如果子类方法中想执行父类的方法,有什么方式?大概有三种: Parent.__init__(self, name) # 通过父类的名字,指定调用父类的方法 super( ...
- 使用Git上传文件至Github
记录一下怎么把文件上传到Github,因为之前都存在本地,没上传过Github,自己以后看起来也有个记忆.因为我自己已经安装好Git和注册好Github账号了,设置好了SSH key.这部分不懂的,就 ...
- express使用ejs模板引擎渲染html文件
小场景小知识点. 在使用express过程中,按照官网教程,利用express生成器很容易初始化express项目模板. 那么初始化项目之后应该如何使用ejs作为模板引擎呢?如下 // 注释掉默认生成 ...
- OPERQUERY查询,关于效率,或者说正确用法
原文:https://blog.csdn.net/u013641136/article/details/50379596 做过一个项目,需要在SQLSERVER创建对ORACLE的DBLINK然后通过 ...
- Graphics 使用一点点注意
Form_Load 事件下绘制的结果会被 paint 刷新掉.也就等于没有绘制一样. Graphics g = this.CreateGraphics(); g.DrawRectangle(new P ...