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

PowerShell常用命令:

一 Get类

1.Get-Command : 得到所有PowerShell命令,获取有关 cmdlet 以及有关 Windows PowerShell 命令的其他元素的基本信息。 包括Cmdlet、Alias、Function。

2.Get-Process : 获取所有进程

3.Get-Help : 显示有关 Windows PowerShell 命令和概念的信息

4.Get-History : 获取在当前会话中输入的命令的列表

5.Get-Job : 获取在当前会话中运行的 Windows PowerShell 后台作业

6.Get-FormatData : 获取当前会话中的格式数据

7.Get-Event : 获取事件队列中的事件

8.Get-Alias : 获取当前会话的别名

9.Get-Culture :获取 *** 作系统中设置的当前区域性

12.Get-Member : 获取对象的属性和方法。

13.Get-Random : 从集合中获取随机数或随机选择对象

14.Get-UICulture : 获取 *** 作系统中当前用户界面 (UI) 区域性设置

15.Get-Unique : 从排序列表返回唯一项目

16.Get-Variable :获取当前控制台中的变量

17.Get-EventLog : 获取本地或远程计算机上的事件日志或事件日志列表中的事件

18.Get-ChildItem : 获取一个或多个指定位置中的项和子项

19.Get-Content : 获取指定位置的项的内容

20.Get-ItemProperty :获取指定项的属性

21.Get-WmiObject : 获取 Windows Management Instrumentation (WMI) 类的实例或可用类的相关信息

22.Get-Location :获取当前工作位置的相关信息(如:F:\Users\TaoMin )

23.Get-PSDrive:获取当前会话中的 Windows PowerShell 驱动器

24.Get-Item:获取位于指定位置的项

25.Get-Process :获取在本地计算机或远程计算机上运行的进程

26.Get-Service : 获取本地或远程计算机上的服务

27.Get-Transaction :获取当前(活动)事务

28.Get-ExecutionPolicy :获取当前会话中的执行策略

二.Set类 (set类命令一般都含有参数)

1.Set-Alias : 在当前 Windows PowerShell 会话中为 cmdlet 或其他命令元素创建或更改别名(替代名称)

2.Set-PSDebug :打开和关闭脚本调试功能,设置跟踪级别并切换 strict 模式

3.Set-StrictMode :建立和强制执行表达式、脚本和脚本块中的编码规则

4.Set-Date :将计算机上的系统时间更改为指定的时间

5.Set-Variable :设置变量的值,如果该变量还不存在,则创建该变量

6.Set-PSBreakpoint :在行、命令或者变量上设置断点

7.Set-Location :将当前工作位置设置为指定的位置

8.Set-Item :将项的值更改为命令中指定的值

9.Set-Service :启动、停止和挂起服务并更改服务的属性

10.Set-Content :在项中写入内容或用新内容替换其中的内容

11.Set-ItemProperty :创建或更改某一项的属性值

12.Set-WmiInstance :创建或更新现有 Windows Management Instrumentation (WMI) 类的实例

13.Set-ExecutionPolicy :更改 Windows PowerShell 执行策略的用户首选项。

三.Write类

1.Write-Host : 将自定义输出内容写入主机。类似于.net的 write()或者writeline()功能

2.Write-Progress :在 Windows PowerShell 命令窗口内显示进度栏

3.Write-Debug :将调试消息写入控制台

4.Write-Verbose:将文本写入详细消息流

5.Write-Warning :写入警告消息

6.Write-Error : 将对象写入错误流

7.Write-Output : 将指定对象发送到管道中的下一个命令;如果该命令是管道中的最后一个命令,则在控制台上显示这些对象

8.Write-EventLog :将事件写入事件日志

PowerShell变量、常量、数组:

一、变量

PowerShell的变量无需预定义,可直接使用。当使用一个变量时,该变量被自动声明。

变量以 $ 符号开头。如: $a

PowerShell普通变量:

1.给变量赋值:

方式一:

$a = "This is a string"

$b = 123

$c = 0.125

方式二:

Set-Variable var 100

Set-Variable var1 ”test“

Set-Variable va2 800

2.获取变量值

get-variable var #获取单个变量值

get-variable var* #获取多个变量值

3.清空变量值

clear-variable var

4.删除变量

remove-variable var

5.连接两个字符串变量

$a = "This is the 1st string"

$b = "This is the 2nd string"

a + " and " + $b

$c

结果:This is the 1st string and This is the 2nd string

6.变量的方法

$date = Get-Date #获取当前时间

$date.AddDays(3) #当前时间加三天

PowerShell特殊变量:

强制指定变量类型:

一般不需要为PowerShell的变量指定类型。但是也可以强制指定变量类型。

如:[int] $b = 5

常见变量类型如下:

二、常量

三、数组

PowerShell注释用法

PowerShell运算符用法:

运算符如下:

1.算术二元运算符:

2.赋值运算符

3.逻辑运算符

PowerShell函数用法:

用法一如下:(函数中改变变量值并不影响实际值)

执行结果:

用法二如下:(函数中变量值的改变要用$Script:var的形式)

执行结果:

PowerShell条件控制的用法:

一、循环类

1.foreach的用法

用法一如下:

执行结果:

用法二如下:直接获取管道数据

执行结果:

2.while的用法

用法一如下:

n -le 5)#当 n

$n++

}

执行结果:

用法一如下:

n

n -ne 3)#当$n<>3时进行循环 *** 作

执行结果:

用法一如下:

n

n -gt 3)#当$n>3时停止 *** 作

执行结果:

二、分支类

1.if用法

if语法结构如下:

用法如下:

执行结果:

2.switch用法

switch语法结构如下:

用法一如下: switch(表达式)

执行结果:

用法二如下:switch -casesensitive (表达式)表示区分大小写

执行结果: It's Monday

用法三如下:switch -regex(表达式)表示正则表达式匹配

执行结果:字母+数字,匹配为:day6

用法四如下:switch -regex(表达式)表示正则表达式匹配 表达式可为数组

执行结果:字母+数字,匹配为:day5

用法五如下:switch -wildcard (表达式)表示通配符匹配

执行结果:day2,匹配为:day2

三、跳转类

1.break用法:break语句出现在foreach、for、while、switch等结构中时,break语句将使windows powershell立即退出整个循环。

用法如下:

执行结果:

2.continue用法:continue语句出现在foreach、for、while等循环结构中时,continue语句将使windows powershell立即退出某一次轮循环,并继续下一轮循环。

用法如下:

执行结果:

PowerShell抛出异常的Throw用法:

用法如下:

返回结果:danger 及详细错误信息

PowerShell获取出错信息的用法:

用法如下:

function one

{

get-process -ea stop #-ea定义错误发生以后该如何继续执行,意同-ErrorAction

get-childitem ada -ErrorAction stop #此处有错误 路径ada不存在

get-process -ErrorAction stop

}

返回结果:报出错误信息

PowerShell单步调试的用法:

用法如下:

执行结果:会出现逐步调试的对话框

本文转自 https://www.cnblogs.com/feng-zhizi/p/9935874.html

一、首先打开powershell命令窗口。

二、然后可以在powershell程序窗口中输入“New-Item”

三、接下来,可以在此接口上设置路径参数“-path”。

四、设置新项目的存储路径,即d-root目录。

五、然后在此接口中设置项目名称参数“-Name”。

六、设置新项目的名称。这里设置的名称是demo。

七、然后可以为新项目类型设置参数“-type”。

八、设置要创建的项目类型。文件夹已准备好在此处创建,因此设置为“directory”。

九、然后单击回车按钮成功执行命令。

十、PowerShell新建demo文件和文件夹创建完成。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存