运行环境: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并加入域中的更多相关文章

  1. POWERSHELL将域中的计算机移动到指定OU

    POWERSHELL处理域中计算机的过程 由于集团公司规模较大,存在几个分公司并处在不同地理位置.采用域集中管理,各分公司都有自己的域控制器,分别负责各分公司的DNS解析,DHCP地址分配,及客户端登 ...

  2. .net 修改AD域中的密码

    1.通过vs 2013 新建一个web站点(不是空项目),这个会带一下模板, 2.然后新建一个页面UpdatePassWord.aspx aspx页面内容: <%@ Page Title=&qu ...

  3. win2008加入域控之尝试解析加入域中域控制器的dns名称失败解决办法

    记录下今天遇到以前没遇到的问题 加入域的时候提示“尝试解析加入域中控制器的DNS”名称失败 可能的原因: 如果确认dns没问题 dc正常访问,那可能就是因为域控制器无法向dns注册srv记录. SRV ...

  4. 域账号修改后,导致vs中的git连接失败

    域账号修改后,导致vs中的git连接失败, fatal: Authentication failed for https://blog.csdn.net/qq_34665539/article/det ...

  5. windows server 2008 R2域中的DC部署 分类: AD域 Windows服务 2015-06-06 21:09 68人阅读 评论(0) 收藏

    整个晚上脑子都有点呆滞,想起申请注册好的博客还从来都不曾打理,上来添添生机.从哪里讲起呢,去年有那么一段时间整个人就陷在域里拔不出来,于是整理了一些文档,害怕自己糊里糊涂的脑子将这些东西会在一觉醒来全 ...

  6. Linux 如何查看修改DNS配置

    DNS服务器介绍 DNS是计算机域名系统(Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的.域名服务器是指保存有该网络中所有 ...

  7. centos 修改DNS,网关,IP地址

    1.CentOS 修改DNS 修改对应网卡的DNS的配置文件 # vi /etc/resolv.conf  修改以下内容 nameserver 8.8.8.8 #google域名服务器 nameser ...

  8. CentOS 设置网络(修改IP&修改网关&修改DNS)--update.14.08.15

    自己电脑上装的虚拟机用桥接方式连接物理机,虚拟机重启后ip会发生变化,非常阻碍Xshell的连接和hosts指定的dns. 通过修改IP为static模式,保持IP不变. ============== ...

  9. CentOS 修改DNS,固定IP等操作(网络)

    1.修改DNS 修改对应网卡的DNS的配置文件 vi /etc/resolv.conf 内容格式(西工大) nameserver 114.114.114.114 nameserver 202.117. ...

随机推荐

  1. HDU 6098 - Inversion | 2017 Multi-University Training Contest 6

    /* HDU 6098 - Inversion [ 贪心,数论 ] | 2017 Multi-University Training Contest 6 题意: 求出所有B[i] = max(A[j] ...

  2. No module named 'pip._vendor.progress.helpers' 的解决方法

    莫名其妙的pip出现故障了 ModuleNotFoundError: No module named ‘pip._vendor.progress.helpers’ 在百度搜索了一圈也没看到这个错误的解 ...

  3. Verilog从文件读数据

    reg start;reg [17:0] counter;always @(posedge i_clk)//置rst.startbegin //产生读数据地址 if(counter==171519|| ...

  4. EnumHelper.cs

    网上找的,还比较实用的: using System; using System.Collections.Generic; using System.ComponentModel; using Syst ...

  5. luogu P2585 [ZJOI2006]三色二叉树

    P2585 [ZJOI2006]三色二叉树 题目描述 输入输出格式 输入格式: 输入文件名:TRO.IN 输入文件仅有一行,不超过10000个字符,表示一个二叉树序列. 输出格式: 输出文件名:TRO ...

  6. 发布mybatis-generator-core 1.3.5的中文注释版

    源码剖析介绍:基于mybatis-generator-core 1.3.5项目的修订版以及源码剖析 目前,我把该项目,发布到了Maven中央仓库中,可直接使用: 使用方式 在项目.pom中,添加以下部 ...

  7. crawler 使用jQuery风格实现

    以前写过java版的crawler,最近看了Groovy的XmlSlurper,效果还是不太满意,直到这篇文章启发了我:how-to-make-a-simple-web-crawler-in-java ...

  8. Centos7卸载nginx及php、php-fpm方法

    Centos7卸载nginx及php.php-fpm方法 2016年12月01日 18:17:22 阅读数:20824 本文环境:Centos7.yum方式安装的nginx和php.php-fpm 之 ...

  9. 同源策略和Ajax跨域访问

    1. 什么是同源策略 理解跨域首先必须要了解同源策略.同源策略是浏览器上为安全性考虑实施的非常重要的安全策略.    何谓同源:        URL由协议.域名.端口和路径组成,如果两个URL的协议 ...

  10. java不用中间变量交换两个值

    public void changeVal(){ int a = 2; int b = 3; System.out.println("交换前 a:"+a+",b:&quo ...