使用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. ...
随机推荐
- 51 Nod 1110距离之和最小V3
1110 距离之和最小 V3 1 秒 131,072 KB 40 分 4 级题 X轴上有N个点,每个点除了包括一个位置数据X[i],还包括一个权值W[i].点P到点P[i]的带权距离 = 实际距离 * ...
- chown 与 chgrp 修改权限用户
# 改变权限 chmod 777 filepath # 改变所有者 chown test filepath # 改变所属组 chgrp user filepath chown='change own ...
- 【poj1182】食物链--并查集扩展域
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 109341 Accepted: 33191 Description 动物 ...
- ****题(alb)
sol:较简单的dp题,n4随便写写,n3需要加一个小优化 int i,j,k,i1,j1,i2,j2; memset(dp,,sizeof dp); ;i<n;i+=) dp[][i][i+] ...
- 1 - ImageNet Classification with Deep Convolutional Neural Network (阅读翻译)
ImageNet Classification with Deep Convolutional Neural Network 利用深度卷积神经网络进行ImageNet分类 Abstract We tr ...
- 一些风骚的shell命令行操作
1.用你最喜欢的编辑器来敲命令 command <CTRL-x CTRL-e> 在已经敲完的命令后按<CTRL-x CTRL-e>,会打开一个你指定的编辑器(比如vim,通过环 ...
- LVS之ipvsadm命令
目录: 安装 基本描述 用法 命令选项 示例 [安装] 可使用yum安装或者从官网下载安装包源码安装,两种方式皆可 先检查是否已经安装ipvsadm [root@v_machine1 ~]# yum ...
- CDN之Web Cache
1. Cache 的工作方式 Web Cache 作为一种网页缓存技术,可以在用户访问网站服务器的任何一个中间网元上实现.根据 HTTP 协议的定义,在一次网页访问中,用户从客户端发出请求到网站服务器 ...
- 在业务控制方法中写入User,Admin多个模型收集参数
1) 可以在业务控制方法中书写1个模型来收集客户端的参数 2) 模型中的属性名必须和客户端参数名一一对应 3) 这里说的模型不是Model对象,Model是向视图中封装的数据 @Controll ...
- grivaty,margin和padding的区别
layout_margn是指组件距离父窗体的距离, padding是指组件中的内容距离组件边缘的距离 Layout_grivaty与grivaty的区别 layout_grivaty是指组件相对父窗体 ...