当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何构建 PowerShell 入门脚本 (Active Directory)

作者:精品下载站 日期:2024-12-14 13:14:36 浏览:12 分类:玩电脑

如何构建 PowerShell 入门脚本 (Active Directory)


员工入职是自动化成熟的任务之一。 PowerShell 入门脚本是完成这项工作的完美工具。

入职是一项执行数百次且很少发生变化的任务。入职后,每个员工都需要一个 Active Directory 用户帐户、一个电子邮件邮箱、对这个或那个系统的访问权限、一个仅对其具有特定权限的主文件夹等等。多次以相同方式执行的任务是自动化的完美候选者。

似乎几乎每个组织都有 Active Directory (AD)。 AD 是员工入职的重要组成部分,许多组织可能仍在手动进行。帮助台仍在打开“Active Directory 用户和计算机”,右键单击并创建一个新用户。然后,他们手动将该用户添加到一组特定的组中,并最终将其所有其他职责搞砸。同样,自动化可以缓解一些问题!

所以您确信自动化是 AD 新员工入职时的最佳选择,对吗?如果可以的话,该怎么办呢?

自动执行 Active Directory 任务的最简单方法之一是使用 PowerShell 入门脚本。通过使用免费提供的 PowerShell 模块,您可以创建脚本来使用 AD 执行几乎任何操作。出于我们的目的,我们需要创建一个脚本来为员工创建新的用户帐户,并可能将她添加到一些常见组中。为此,请获取远程服务器管理工具的副本。这将为您提供 ActiveDirectory PowerShell 模块。执行此操作后,请确保您使用的是加入域的计算机,并且您拥有创建新用户的适当权限。

在 ActiveDirectory PowerShell 模块中,有一个名为 New-AdUser 的命令。使用此命令的方法有很多种,但以下是常见的方法。在此 PowerShell 代码中,我生成一个随机密码,然后将其与名字、姓氏和用户名一起使用来创建新的 AD 用户。就是这样!不涉及鼠标点击。

Add-Type -AssemblyName System.Web
$password = [System.Web.Security.Membership]::GeneratePassword((Get-Random -Minimum 20 -Maximum 32), 3)
$secPw = ConvertTo-SecureString -String $password -AsPlainText -Force

$NewUserParameters = @{
	GivenName = 'Adam'
	Surname = 'Bertram'
	Name = 'abertram'
	AccountPassword = $secPw
}
New-AdUser @NewUserParameters

我们还有一个名为 Add-AdGroupMember 的命令。这会将刚刚创建的用户添加到组中。

Add-AdGroupMember -Identity 'Accounting' -Members 'abertram'

自动化员工使用 PowerShell 入职的好处之一是,一旦构建了代码,就可以为一名、十名或一百名员工运行它,而无需额外的努力。例如,也许我需要在 AD 中配备大量新员工。通过使用 Import-Csv 命令,我可以读取该 CSV 文件中的每一行并运行我们刚刚查看的代码。

此示例假设您有一个包含 FirstName 和 LastName 列的 CSV。

Add-Type -AssemblyName System.Web
Import-Csv -Path C:\Employees.csv | foreach {
    $password = [System.Web.Security.Membership]::GeneratePassword((Get-Random -Minimum 20 -Maximum 32), 3)
    $secPw = ConvertTo-SecureString -String $password -AsPlainText -Force

	$userName = '{0}{1}' -f $_.FirstName.Substring(0,1),$_.LastName
	$NewUserParameters = @{
		GivenName = $_.FirstName
		Surname = $_.LastName
		Name = $userName
		AccountPassword = $secPw
	}
	New-AdUser @NewUserParameters
	Add-AdGroupMember -Identity 'Accounting' -Members $userName
}

我们只是简单介绍了如何在 Active Directory 中实现员工入职自动化。如果您的组织有一个预定义的流程,其中包含必须遵循的特定规则,那么此代码可能只是一个更大的 100% 自动化的员工入职流程的开始!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯