PowerShell命令批量添加、导出AD用户

PowerShell命令批量添加、导出AD用户,第1张

导入单个AD用户命令

New-ADUser -Name "周八" -Surname "周" -GivenName "八"-SamAccountName "20160219008" -UserPrincipalName " zhouba@KFGS.COM.CN " -DisplayName "周八" -Description "周八" -Path "OU=资金处,OU=财务部,OU=开发公司,DC=KFGS,DC=COM,DC=CN" -AccountPassword(ConvertTo-SecureString "567@test" -AsPlainText -force ) -Enabled false

New-ADUser -Name "周八" -Surname "周" -GivenName "八" -UserPrincipalName " zhouba@KFGS.COM.CN " -Path "OU=资金处,OU=财务部,OU=开发公司,DC=KFGS,DC=COM,DC=CN" -AccountPassword(ConvertTo-SecureString "567@test" -AsPlainText -force ) -Enabled false

批量导入用户

Import-Csv 'C:\user.csv' | ForEach-Object{New-ADUser -SamAccountName.Surname -GivenName.Name -Group.UserPrincipalName -Path.AccountPassword -Force) -Enabled 1 -ChangePasswordAtLogon 1}

表格的格式

注意点:CSV要以UTF-8保存,不然中文会乱码,执行命令会报错,我就深受其害(一定是将文档放到你需要执行命令的地方,然后在改文件的编码UTF-8,如果先改保存后,在移动到你执行命令的地方编码格式是无效的,执行命令会报错)。自己要清楚模版所对应的参数,不要填写错误。Enable 1,数字1表示启用账户,ChangePasswordAtLogon 1,数字1表示下一次登录需要修改密码。如果都改为数字0表示禁用账户,下一次登录不需要修改密码

附录:AD各字段的属性

Get-ADUser -Filter * -SearchBase "ou=小的ou,ou=大的ou,dc=小的dc,dc=大的dc" | Select-Object -Property Name | Export-Csv -Encoding unicode xx.csv

获取AD用户 过滤 搜索底部 组织单位 组织单位域控 选择对象   属性  用户名 导出csv编码csv档案名

批量导出AD用户

Get-ADUser -Filter * -SearchBase "DC=KFGS, DC=COM, DC=CN" |Select-Object -Property SamAccountName, Surname, GivenName, Name, Group, UserPrincipalName, Path, AccountPassword, Enabled, ChangePasswordAtLogon | Export-Csv -Encoding unicode ADuser.csv

注:导出的文件在当前用户目录下,如:C:\Users\Administrator

之前给大家介绍很多关于Windows Azure的内容,基本上都是通过Windows Azure Management Portal来创建的。这种创建方式虽然直观简单,但是如果IT管理员需要同时创建1000台Azure服务的话,工作的代价是非常巨大的。

其实我们可以通过Windows Azure PowerShell,通过命令行的方式来管理Windows Azure。这样在进行诸如批量创建Azure Virtual Machine的 *** 作会变得非常简单。接下来就开始本章内容。

如果你是第一次运行Azure PowerShell ,请按照之前的文章,下载Azure PowerShell Settings文件并上传至云端。

了解Azure的帮助命名

1.我们首先运行命令: help azure ,来看看Windows Azure提供了哪些命令行。我只截取了部分内容,如下图:

在上图中我们可以看到,Azure PowerShell提供了非常多的命令。比如我们之前讲解过的Add-AzureVhd等命令。

2.我们再运行命令: Get-AzureVMImage ,这条命令是列出所有的Azure Virtual Machine镜像,其中包含Windows 和 Linux的。我只截取了部分内容,如下图:

开始创建Azure虚拟机

1.指定当前的存储

Set-AzureSubscription -SubscriptionName '<SubscriptionName>' -CurrentStorageAccount '<StorageAccount>'

比如我想指定订阅为'Windows Azure MSDN - Visual Studio Ultimate',存储账户为'leivms'。

执行以下命令:

Set-AzureSubscription -SubscriptionName 'Windows Azure MSDN - Visual Studio Ultimate' -CurrentStorageAccount 'leivms'

2.如果我想通过Azure PowerShell新建Virtual Machine

-VM Name为 LeiAzureVM

-VM Size为 ExtraSmall

-VM Image为 Windows Server 2012 Datacenter

-Windows用户名为 leizhang,密码为 Pass@word1

-DNS Name为 LeiAzure

-高可用组为 AvbSet

-数据中心选择 East Asia

3. 先要设置镜像为Windows Server 2012 Datacenter,

$imageList = Get-AzureVMImage `

| where {$_.ImageName -eq "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201407.01-en.us-127GB.vhd"}

$image=$imageList[0]

执行结果如下:

上图的 $image 命令可以显示我们需要的Windows Server 2012 DataCenter镜像的相关信息

如果我想模糊查询AzureImage的话,可以通过星号(*)通配符,来模糊查询。

比如笔者只想查询Windows Server 2012 Datacenter的镜像,PowerShell如下:

$imageList = Get-AzureVMImage `

| where {$_.ImageName -like "*Windows-Server-2012-Datacenter*"}

$image=$imageList[0]

4.创建虚拟机

New-AzureVMConfig -Name 'LeiAzureVM' -InstanceSize 'ExtraSmall' -ImageName $image.ImageName -AvailabilitySetName 'AvbSet' ` | Add-AzureProvisioningConfig -Windows -AdminUsername 'leizhang' -Password 'Pass@word1' ` | New-AzureVM -ServiceName 'LeiAzure' -Location 'East Asia'

执行结果如下图:

5.查询执行结果

我们在PowerShell中看到Create Succeeded,其实创建Azure VM的过程是异步的。这时候我们查看Azure Management Portal,发现VM正在被创建。如下图:

我们还可以通过Management Portal看到创建成功的虚拟机

OK,我们已经创建完第一台虚拟机了,如果需要 创建第2台虚拟机LeiAzureVM002加入到之前创建的DNS: LeiAzure.cloudapp.net ,

并且需要加入同一个高可用组'AvbSet',这句PowerShell语句按照下面执行:

New-AzureVMConfig -Name 'LeiAzureVM002' -InstanceSize 'ExtraSmall' -ImageName $image.ImageName -AvailabilitySetName 'AvbSet' ` | Add-AzureProvisioningConfig -Windows -AdminUsername 'leizhang' -Password 'Pass@word1' ` | New-AzureVM -ServiceName 'LeiAzure'

执行结果如下:

创建简单的Linux虚拟机

如果我想创建一个简单的Linux虚拟机,OS为CentOS。

-VM Name为 LeiLinuxVM001

-VM Size为 Medium

-VM Image为

CentOS 6.4

-Windows用户名为 adminus er, 密码为Abc@123456

-DNS Name为 LeiLinuxVM001

-高可用组为 AvbSet

-数据中心选择 East Asia

1.获得CentOS虚拟机镜像,通过模糊查询获得CentOS镜像

$imageList = Get-AzureVMImage `

| where {$_.ImageName -like "*CentOS*"}

$image=$imageList[0]

2.创建虚拟机命令:

New-AzureVMConfig -Name 'LeiLinuxVM001' -InstanceSize Medium -ImageName $image.ImageName -AvailabilitySetName 'AvbSet' | Add-AzureProvisioningConfig -Linux -LinuxUser 'adminuser' -Password 'Abc@123456' | New-AzureVM -ServiceName 'LeiLinuxVM001' -Location 'East Asia'

执行结果

观察执行结果:

抱歉,论坛并不能够根据用户需求来帮你写脚本。 不过你可以使用powershell 来为AD用户添加ExtentionAttribute 你可以使用如下的命令来 *** 作:

set-ADUser -Identity username -Add @{extensionAttribute3="小组"}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11542233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存