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

[玩转系统] 适用于 Active Directory、Office 365 等的大量 PowerShell 命令

作者:精品下载站 日期:2024-12-14 17:37:23 浏览:15 分类:玩电脑

适用于 Active Directory、Office 365 等的大量 PowerShell 命令


这是适用于 Active Directory、Office 365、Windows Server 等的 PowerShell 命令的终极集合。

这些命令将有助于完成许多任务,让您的生活更轻松。

目录:

  • 活动目录命令
  • Office 365 命令
  • Windows 服务器和客户端命令
  • 基本 PowerShell 命令

Active Directory PowerShell 命令

本节包含用于获取域详细信息的通用命令。

查看所有 Active Directory 命令

get-command -Module ActiveDirectory

显示域名基本信息

Get-ADDomain

按主机名和操作获取所有域控制器

Get-ADDomainController -filter * | select hostname, operatingsystem

获取所有细粒度密码策略

Get-ADFineGrainedPasswordPolicy -filter *

获取域默认密码策略

从登录域获取密码策略

Get-ADDefaultDomainPasswordPolicy

远程备份 Active Directory 系统状态

这将备份域控制器系统状态数据。将 DC-Name 更改为您的服务器名称并更改备份路径。备份路径可以是本地磁盘或UNC路径

invoke-command -ComputerName DC-Name -scriptblock {wbadmin start systemstateback up -backupTarget:"Backup-Path" -quiet}

相关: Windows CMD 命令

Active Directory 用户 PowerShell 命令

此部分是所有 Active Directory 用户命令。

获取用户并列出所有属性(属性)

将用户名更改为帐户的 samAccountName

Get-ADUser username -Properties *

获取用户并列出特定属性

选择后添加你想显示的内容即可

Get-ADUser username -Properties * | Select name, department, title

获取域中的所有 Active Directory 用户

Get-ADUser -Filter *

获取特定 OU 中的所有用户

OU=OU 的可区分路径

Get-ADUser -SearchBase “OU=ADPRO Users,dc=ad,dc=activedirectorypro.com” -Filter *

按名称获取 AD 用户

此命令将查找名称中包含“robert”一词的所有用户。只需将 robert 更改为您要搜索的单词即可。

get-Aduser -Filter {name -like "*robert*"}

获取所有禁用用户帐户

Search-ADAccount -AccountDisabled | select name

禁用用户帐户

Disable-ADAccount -Identity rallen

启用用户帐户

Enable-ADAccount -Identity rallen

获取密码设置为永不过期的所有帐户

get-aduser -filter * -properties Name, PasswordNeverExpires | where {$_.passwordNeverExpires -eq "true" } | Select-Object DistinguishedName,Name,Enabled

查找所有锁定的用户帐户

Search-ADAccount -LockedOut

解锁用户帐户

Unlock-ADAccount -Identity john.smith

列出所有禁用用户帐户

Search-ADAccount -AccountDisabled

下次登录时强制更改密码

Set-ADUser -Identity username -ChangePasswordAtLogon $true

将单个用户移至新 OU

您将需要用户的专有名称和目标 OU

Move-ADObject -Identity "CN=Test User (0001),OU=ADPRO Users,DC=ad,DC=activedirectorypro,DC=com" -TargetPath "OU=HR,OU=ADPRO Users,DC=ad,DC=activedirectorypro,DC=com"

将用户从 CSV 移动到 OU

设置一个包含名称字段和用户 sAmAccountNames 列表的 csv。然后只需更改目标 OU 路径即可。

# Specify target OU. $TargetOU = "OU=HR,OU=ADPRO Users,DC=ad,DC=activedirectorypro,DC=com" # Read user sAMAccountNames from csv file (field labeled "Name"). Import-Csv -Path Users.csv | ForEach-Object { # Retrieve DN of User. $UserDN = (Get-ADUser -Identity $_.Name).distinguishedName # Move user to target OU. Move-ADObject -Identity $UserDN -TargetPath $TargetOU }

Active Directory 组命令

本节列出了用于获取 Active Directory 组信息的命令。

获取安全组的所有成员

Get-ADGroupMember -identity “HR Full”

获取所有安全组

这将列出域中的所有安全组

Get-ADGroup -filter *

将用户添加到组

将 group-name 更改为要添加用户的 AD 组

Add-ADGroupMember -Identity group-name -Members Sser1, user2

从组中导出用户

这会将群组成员导出到 CSV,将群组名称更改为要导出的群组。

Get-ADGroupMember -identity “Group-name” | select name | Export-csv -path C:\OutputGroupmembers.csv -NoTypeInformation

按关键字分组

按关键字查找组。如果您不确定名称,请更改组名称,这会很有帮助。

get-adgroup -filter * | Where-Object {$_.name -like "*group-name*"}

将用户列表导入到组中

$members = Import-CSV c:itadd-to-group.csv | Select-Object -ExpandProperty samaccountname Add-ADGroupMember -Identity hr-n-drive-rw -Members $members

Active Directory 计算机命令

用于获取 Active Directory 计算机的命令列表。

获取所有计算机

这将列出域中的所有计算机

Get-AdComputer -filter *

按名称获取所有计算机

这将列出域中的所有计算机并仅显示主机名

Get-ADComputer -filter * | select name

获取 OU 中的所有计算机

Get-ADComputer -SearchBase "OU=DN" -Filter *

获取域中所有计算机的计数

Get-ADComputer -filter * | measure

获取所有 Windows 10 计算机

将 Windows 10 更改为您要搜索的任何操作系统

Get-ADComputer -filter {OperatingSystem -Like '*Windows 10*'} -property * | select name, operatingsystem

按操作系统获取所有计算机的计数

这将提供所有计算机的计数并按操作系统对它们进行分组。这是一个很好的命令,可以让您快速清查 AD 中的计算机。

Get-ADComputer -Filter "name -like '*'" -Properties operatingSystem | group -Property operatingSystem | Select Name,Count

删除一台计算机

Remove-ADComputer -Identity "USER04-SRV4"

删除计算机帐户列表

将主机名添加到文本文件并运行以下命令。

Get-Content -Path C:ComputerList.txt | Remove-ADComputer

从 OU 中删除计算机

Get-ADComputer -SearchBase "OU=DN" -Filter * | Remote-ADComputer

组策略命令

用于获取组策略详细信息的命令列表。

获取所有GPO相关命令

get-command -Module grouppolicy

按状态获取所有 GPO

get-GPO -all | select DisplayName, gpostatus

备份域中的所有 GPO

Backup-Gpo -All -Path E:GPObackup

Office 365 PowerShell 命令

Office 365 的命令。

连接到 Exchange Online

这将弹出并要求提供凭据

$UserCredential = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection Import-PSSession $Session

强制 Azure 同步

这适用于天蓝色广告同步客户端。

强制增量同步(仅同步更改

Start-ADSyncSyncCycle -PolicyType Delta Force a full sync Start-ADSyncSyncCycle -PolicyType Initial

获取所有 Office 365 用户的列表

Get-MsolUser | Select DisplayName, City, Department, ObjectID

获取完整邮箱详细信息

Get-Mailbox email-address | fl

获取日历权限

Get-MailboxFolderPermission username:calendar

启用远程邮箱(混合环境)

如果您有需要 Office 365 邮箱的现有本地用户,请使用此命令。还有其他方法可以执行此操作,但这会创建 AD 帐户中的所有属性。

替换用户名和租户字段

Enable-RemoteMailbox username -RemoteRoutingAddress "[email protected]"

Windows 服务器和客户端命令

获取所有服务

get-service

获取所有进程

get-process

显示网络适配器

获取有关已安装网络适配器的详细信息,例如名称、状态、速度和 MAC 地址。

get-netadapater

重新启动远程计算机

Restart-Computer -ComputerName "Server01", "Server02", "localhost"

获取上次启动时间

这需要几行

$os = Get-WmiObject win32_operatingsystem $uptime = (Get-Date) - $os.ConvertToDateTime($os.LastBootUpTime) Write-Output ("Last boot: " + $os.ConvertToDateTime($os.LastBootUpTime))

您还可以运行这一行来获取上次启动时间

systeminfo | more

启动远程会话

使用它来启动与远程计算机的交互式会话

Enter-PSSession -ComputerName

读取文件的内容(打开文件)

此示例演示如何读取 Windows 防火墙日志文件的内容

Get-Content -Path "c:windowssystem32logfilesfirewallpfirewall.log"

复制文件和文件夹

使用此命令将整个文件夹复制到另一个文件夹。这将复制该文件夹和所有子文件夹/文件。 -verbose 命令会将结果显示到控制台。

copy-item E:\WindowsImageBackup\exchange -destination \server1\Backups\Exchange -recurse -verbose

基本 PowerShell 命令

获取执行策略

get-executionpolicy

将执行策略设置为无限制

set-executionpolicy unrestricted

显示 PowerShell 版本

$PSVersionTable

获取命令帮助

使用它来获取命令的帮助信息

get-help command-name

搜索 获取帮助

使用它来搜索帮助文件。如果您不知道该命令或想查看该命令是否存在,这会很有用。

get-help *keyword*

获取已安装的模块

使用此命令显示计算机上所有已安装的模块

get-installedmodule

列出所有可用模块

这将列出计算机上的所有可用模块。

Get-Module -ListAvailable

将结果导出到 CSV

将 export-csv 添加到命令末尾

Get-ADUser username -Properties * | Select name, department, title | export-csv c:\user.csv

显示可用命令

这将显示基于加载的模块的所有可用命令。

get-command

寻找新模块

将 *ntfs* 替换为您要搜索的关键字。这会在 https://www.powershellgallery.com/ 搜索模块

Find-Module *ntfs*

安装新模块

从 https://www.powershellgallery.com/ 安装模块

我找到了一个名为 NTFSSecurity 的模块,要安装它,我运行此命令

install-module NTFSSecurity

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

取消回复欢迎 发表评论:

关灯