PowerShell实现自动加域,拒绝繁琐重复性工作!

这篇具有很好参考价值的文章主要介绍了PowerShell实现自动加域,拒绝繁琐重复性工作!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、背景

二、研究过程

1、微软官网资料说明

2、语法用法举例说明

示例 1:将本地计算机添加到域,然后重新启动计算机

示例 2:将计算机移动到新域并更改计算机的名称

示例3:自定义自动获取相应的参数修改计算机名并加入到新域

三、总结

1、完整代码示例

2、踩坑提醒

(1)系统运行powershell权限

(2)Powershell脚本需要以管理员身份运行,


一、背景

        我们都知道规模稍微大一点的企业公司为了便于计算机的管理,可能都上了微软的域控制器,那么肯定就会存在这么一个问题,不断的会有计算机加入或者是退出域控制器,而这个过程实在是太繁琐了,需要不断的重复以下操作

1、右键点击“此电脑”,选择属性

2、在出现的界面中,“计算机名、域和工作组设置”中点击“更改设置”

3、在出现的界面中,继续选择“更改”

4、在计算机名/域更改的界面中,更改计算机名和域控名称(如果需要填写序列号,那又长又臭的字符串简直是要命)

5、弹出认证窗口后输入域控账号和密码,点击“确定”重启电脑

如果这个工作是你做的话,我不知道你会有什么感受,

反正如果是我的话,我内心是抗拒的,可能是因为西瓜皮太懒,很讨厌繁琐且重复性的工作。

二、研究过程

于是我就在想,如何能减少这种重复性工作提升效率呢?

是否可以实现一键自动修改计算机名和自动帮你加入域控且自动重启呢?

1、微软官网资料说明

首先介绍下在微软官网查到的资料,主要是用到以下模块

Add-Computer

将本地计算机添加到域或工作组中

语法

Add-Computer

   [-ComputerName <String[]>]

   [-LocalCredential <PSCredential>]

   [-UnjoinDomainCredential <PSCredential>]

   -Credential <PSCredential>

   [-DomainName] <String>

   [-OUPath <String>]

   [-Server <String>]

   [-Unsecure]

   [-Options <JoinOptions>]

   [-Restart]

   [-PassThru]

   [-NewName <String>]

   [-Force]

   [-WhatIf]

   [-Confirm]

   [<CommonParameters>]

说明

cmdlet Add-Computer 将本地计算机或远程计算机添加到域或工作组,或将它们从一个域移动到另一个域。 它还为添加到域中的无帐户计算机创建域帐户

可以使用此 cmdlet 的参数来指定组织单位 (OU) 和域控制器,或执行不安全的加入。

2、语法用法举例说明
示例 1:将本地计算机添加到域,然后重新启动计算机
Add-Computer -DomainName Domain01 -Restart

此命令将本地计算机添加到 Domain01 域,然后重新启动计算机以使更改生效。

示例 2:将计算机移动到新域并更改计算机的名称
Add-Computer -ComputerName Server01 -DomainName Domain02 -NewName Server044 -Credential Domain02\Admin01 -Restart

此命令将 Server01 计算机移至 Domain02 并将计算机名称更改为 Server044。

该命令使用当前用户的凭据连接到 Server01 计算机并将其从其当前域中退出。 它使用 Credential 参数指定有权将计算机加入 Domain02 域的用户帐户。

示例3:自定义自动获取相应的参数修改计算机名并加入到新域

参考示例2,我们可以做适当的修改 定义两个变量$ComputerName$NewComputerName ,想办法获取计算机的序列号赋值给$NewComputerName,获取当前计算机名赋值给$ComputerName,于是命令就变成下面所示:

Add-Computer -ComputerName $ComputerName -DomainName Domain02 -NewName $NewComputerName -Credential Domain02\Admin01 -Restart

获取当前计算机名

$ComputerName = $env:COMPUTERNAME

获取当前计算机序列号

$serial = (Get-WmiObject -ComputerName $ComputerName -Class Win32_BIOS).SerialNumber

我们可以采用字符串拼接的方式加上区域信息重命名计算机名

$SG = "SG-"

$newcomputername = $SG+$serial

这样我们就完成了,

但是此时存在一个问题,我们还需要手动输入密码才能加入新域,这显然不符合我们自动化的要求,所以有什么方法可以规避这一点呢,我们注意到命令后面有个-Credential参数,查了下资料发现了惊喜,我们可以通过以下方式实现

$credential = New-Object 
System.Management.Automation.PSCredential($username,$password) 

此时我们只需要提前定义好需要加域的用户名和密码即可。

将以上内容拼接一下就完事了

三、总结

1、完整代码示例

自动修改计算机名的同时加入域控完整代码示例如下:以上信息保存为PS1后缀名的文件即可。

​
add_domin.ps1

#By 【资源蓄电池】

$ComputerName = $env:COMPUTERNAME

$serial = (Get-WmiObject -ComputerName $ComputerName -Class Win32_BIOS).SerialNumber

$SG = "SG-"

$NewComputerName = $SG+$serial

"Your computer NewComputerName is $NewComputerName"

$domain = "xxx.com"

#定义域

$password = "xxx" | ConvertTo-SecureString -asPlainText -Force

$username = "xxxx.com\xxx"

#定义用户名和密码

$ADUser="xxx.com\xx"

#定义OU

$credential = New-Object System.Management.Automation.PSCredential($username,$password)

Add-Computer -ComputerName $ComputerName -DomainName $domain -NewName $NewComputerName -Credential $credential

"welcome to XXX"

cmd /c "pause"

#加个暂停便于查看报错信息

将

​

PowerShell实现自动加域,拒绝繁琐重复性工作!

2、踩坑提醒

但是再实际使用的过程中发现有一些坑,这里做下必要的说明

(1)系统运行powershell权限

系统需要做相应的设置让其运行运行Powershell命令,可以用以下命令设置

Set-ExecutionPolicy remotesigned -Scope CurrentUser
(2)Powershell脚本需要以管理员身份运行,

但是如果您的电脑登录的账户不是超级管理员,在右键选择Pwershell运行PS1脚本的时候,那么可能会出现提示没有权限的情况,为了彻底解决此问题,我们可以再搞个脚本提权调用刚刚创建的add_domin.ps1,示例如下

Run.ps1

#By 【资源蓄电池】

Set-ExecutionPolicy remotesigned -Scope CurrentUser

$a = Split-Path -Parent $MyInvocation.MyCommand.Definition

#取文件的父目录

powershell -noprofile -command "&{ start-process powershell -ArgumentList '-noprofile -file $a\add_domin.ps1 ' -verb RunAs}"

#以管理员身份运行powershell执行脚本文件add_domin.ps1

cmd /c "pause"

这样就可以完美的解决没有权限的问题啦!

退域的原理类似,这里就不作介绍了!

如果你觉得对你有帮助的话。。。。

分享更多工作中遇到的问题,期待与你的相遇!文章来源地址https://www.toymoban.com/news/detail-460873.html

到了这里,关于PowerShell实现自动加域,拒绝繁琐重复性工作!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AI帮写会重复吗:探究AI写作工具的性与重复性

    大家好,小发猫降重今天来聊聊AI帮写会重复吗:探究AI写作工具的原创性与重复性,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: AI帮写会重复吗:探究AI写作工具的原创性与重复性 在数字化时代,AI写作工具

    2024年03月23日
    浏览(37)
  • AI帮写会重复吗:深入剖析AI写作的独特性与重复性

    大家好,小发猫降ai今天来聊聊AI帮写会重复吗:深入剖析AI写作的独特性与重复性,希望能给大家提供一点参考。降ai辅写 以下是针对论文AI辅写率高的情况,提供一些修改建议和技巧,可以借助此类工具: 还有: AI帮写会重复吗:深入剖析AI写作的独特性与重复性 在数字化

    2024年03月19日
    浏览(47)
  • AI帮写会重复吗?一文解析AI写作的独特性与重复性

    大家好,小发猫降重今天来聊聊AI帮写会重复吗?一文解析AI写作的独特性与重复性,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: AI帮写会重复吗?一文解析AI写作的独特性与重复性 在数字化时代,AI帮写已成

    2024年03月15日
    浏览(43)
  • AI帮写会重复吗?探索AI写作的独特性与重复性问题

    大家好,小发猫降ai今天来聊聊AI帮写会重复吗?探索AI写作的独特性与重复性问题,希望能给大家提供一点参考。降ai辅写 以下是针对论文AI辅写率高的情况,提供一些修改建议和技巧,可以借助此类工具: 还有: AI帮写会重复吗?探索AI写作的独特性与重复性问题 在自媒体

    2024年04月16日
    浏览(37)
  • AI帮写会重复吗:深度解析AI写作工具的独特性与重复性

    大家好,小发猫降ai今天来聊聊AI帮写会重复吗:深度解析AI写作工具的独特性与重复性,希望能给大家提供一点参考。降ai辅写 以下是针对论文AI辅写率高的情况,提供一些修改建议和技巧,可以借助此类工具: 还有: AI帮写会重复吗:深度解析AI写作工具的独特性与重复性

    2024年04月10日
    浏览(41)
  • AI帮写会重复吗?七大角度解析AI写作工具的独特性与重复性

    大家好,小发猫降重今天来聊聊AI帮写会重复吗?七大角度解析AI写作工具的独特性与重复性,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: AI帮写会重复吗?七大角度解析AI写作工具的独特性与重复性 随着人

    2024年03月26日
    浏览(78)
  • AI写作工具的重复性问题:Perplexity与Burstiness的探讨

    大家好,小发猫降重今天来聊聊AI写作工具的重复性问题:Perplexity与Burstiness的探讨,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: AI写作工具的重复性问题:Perplexity与Burstiness的探讨 在数字化时代,AI写作工具

    2024年03月13日
    浏览(48)
  • 【回眸】Python入门(五)基础语法&&列表和词典:Python如何消灭重复性劳动

     前言 本篇博客为填坑篇,这个系列的上一篇竟然是2021年的9月30更新的,离谱,差点就到断更两周年纪念日了,后续逐渐走向填坑的每一天,继续创作,希望这个系列的专栏文章能帮助到更多有需要的人。 随便写一个: class(列表名) = (赋值) [\\\'高一四班\\\',\\\'高二八班\\\',\\\'高

    2024年02月08日
    浏览(29)
  • 低代码:拒绝重复、低价值的工单循环开发

    在软件开发和其他工程领域,“重复造轮子”被广泛认为是一种低效的做法,因为它浪费了大量的时间和资源去重新创作已经存在的东西,而不是利用现有的技术和经验去解决问题。 例如在大平台项目的实战开发中,针对不同业务场景,需要为用户多次编写不同的表单页面用

    2024年02月04日
    浏览(33)
  • Python 自动化指南(繁琐工作自动化)第二版:零、前言

    Al Sweigart 是一名软件开发人员和技术书籍作者。Python 是他最喜欢的编程语言,他是该语言的几个开源模块的开发者。他的其他书籍可以在他的网站上根据知识共享许可免费获得。他的猫现在重 11 磅。 Philip James 从事 Python 工作已经超过十年,是 Python 社区的常客。他的演讲主

    2023年04月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包