PowerShell 命令示例:
域管理
加入域:
powershellCopy Code
Add-Computer -DomainName "yourdomain.com" -Credential "yourdomain\username" -Restart
重新加入域:
powershellCopy Code
Remove-Computer -UnjoinDomainCredential "yourdomain\username" -PassThru -Restart
计算机帐户管理
计算机帐户创建和删除:
powershellCopy Code
# 创建计算机帐户
New-ADComputer -Name "NewComputerName" -Path "OU=Computers,DC=yourdomain,DC=com"
# 删除计算机帐户
Remove-ADComputer -Identity "ComputerName" -Confirm:$false
计算机帐户重置:
powershellCopy Code
Reset-ComputerMachinePassword -Server "DomainController" -Credential "yourdomain\username"
信任关系管理
建立和删除信任关系:
powershellCopy Code
# 建立信任关系
New-ADTrust -Name "TrustName" -SourceForest "source.domain.com" -TargetForest "target.domain.com" -Direction "Bidirectional"
# 删除信任关系
Remove-ADTrust -Identity "TrustName"
计算机名管理
更改计算机名:
powershellCopy Code
Rename-Computer -NewName "NewComputerName" -Restart
域成员管理
列出域中的计算机:
powershellCopy Code
Get-ADComputer -Filter * -Property Name
这些命令应当帮助您有效管理域和计算机帐户。
对每个领域的一些详细 PowerShell 命令和技巧:
域管理
加入域并指定组织单位(OU):
powershellCopy Code
Add-Computer -DomainName "yourdomain.com" -OUPath "OU=Computers,DC=yourdomain,DC=com" -Credential "yourdomain\username" -Restart
重新加入域(指定新计算机名):
powershellCopy Code
Remove-Computer -UnjoinDomainCredential "yourdomain\username" -PassThru -Restart
计算机帐户管理
查看计算机帐户详细信息:
powershellCopy Code
Get-ADComputer -Identity "ComputerName" -Properties *
计算机帐户重置(手动指定帐户):
powershellCopy Code
Reset-ComputerMachinePassword -Server "DomainController" -Credential (Get-Credential)
信任关系管理
查看现有信任关系:
powershellCopy Code
Get-ADTrust -Filter *
建立单向信任关系:
powershellCopy Code
New-ADTrust -Name "TrustName" -SourceForest "source.domain.com" -TargetForest "target.domain.com" -Direction "Inbound"
删除信任关系(确认删除):
powershellCopy Code
Remove-ADTrust -Identity "TrustName" -Confirm:$true
计算机名管理
更改计算机名并将其从域中删除:
powershellCopy Code
Rename-Computer -NewName "NewComputerName" -DomainCredential "yourdomain\username" -Restart
域成员管理
按操作系统列出计算机:
powershellCopy Code
Get-ADComputer -Filter * -Property OperatingSystem | Select-Object Name,OperatingSystem
根据组织单位(OU)列出计算机:
powershellCopy Code
Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=yourdomain,DC=com"
这些命令可以帮助您更细致地管理和维护域及计算机帐户。
更多的 PowerShell 命令和技巧,以帮助您更深入地管理域和计算机:
域管理
获取域控制器信息:
powershellCopy Code
Get-ADDomainController -Filter *
查看域信任关系详细信息:
powershellCopy Code
Get-ADDomain -Identity "yourdomain.com" | Select-Object -ExpandProperty Trusts
计算机帐户管理
查找指定 OU 下的计算机帐户:
powershellCopy Code
Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=yourdomain,DC=com"
修改计算机帐户属性(例如描述):
powershellCopy Code
Set-ADComputer -Identity "ComputerName" -Description "New Description"
信任关系管理
获取特定信任关系的详细信息:
powershellCopy Code
Get-ADTrust -Identity "TrustName"
更新信任关系:
powershellCopy Code
Set-ADTrust -Identity "TrustName" -Direction "Bidirectional" -TrustType "External"
计算机名管理
重命名计算机并加入到域(指定域控制器):
powershellCopy Code
Rename-Computer -NewName "NewComputerName" -DomainCredential "yourdomain\username" -Restart -ComputerName "OldComputerName"
域成员管理
列出所有计算机及其最后登录时间:
powershellCopy Code
Get-ADComputer -Filter * -Property LastLogonTimestamp | Select-Object Name, @{Name="LastLogonDate";Expression={[DateTime]::FromFileTime($_.LastLogonTimestamp)}}
检查计算机是否在域中:
powershellCopy Code
Test-ComputerSecureChannel -Verbose
这些命令可以帮助您更精确地管理和监控您的域及其计算机。
更多的 PowerShell 命令和技巧:
域管理
创建新组织单位(OU):
powershellCopy Code
New-ADOrganizationalUnit -Name "OUName" -Path "DC=yourdomain,DC=com"
移动计算机到新的 OU:
powershellCopy Code
Move-ADObject -Identity "CN=ComputerName,OU=OldOU,DC=yourdomain,DC=com" -TargetPath "OU=NewOU,DC=yourdomain,DC=com"
计算机帐户管理
禁用计算机帐户:
powershellCopy Code
Disable-ADAccount -Identity "ComputerName$"
启用计算机帐户:
powershellCopy Code
Enable-ADAccount -Identity "ComputerName$"
信任关系管理
验证信任关系状态:
powershellCopy Code
Test-ADTrust -Identity "TrustName"
计算机名管理
获取当前计算机名称:
powershellCopy Code
$env:COMPUTERNAME
重命名计算机并重新启动(指定域用户):
powershellCopy Code
Rename-Computer -NewName "NewComputerName" -DomainCredential (Get-Credential) -Restart
域成员管理
检查计算机是否在线:
powershellCopy Code
Test-Connection -ComputerName "ComputerName" -Count 2
获取计算机所在的域信息:
powershellCopy Code
Get-ADComputer -Identity "ComputerName" -Properties DNSHostName | Select-Object DNSHostName
这些命令可以帮助您进一步优化域环境的管理和维护。
更多高级的 PowerShell 命令和技巧:
域管理
查看域中的所有用户及其属性:
powershellCopy Code
Get-ADUser -Filter * -Properties DisplayName, EmailAddress | Select-Object DisplayName, EmailAddress
创建新的用户并设置密码:
powershellCopy Code
New-ADUser -Name "New User" -GivenName "New" -Surname "User" -UserPrincipalName "newuser@yourdomain.com" -Path "OU=Users,DC=yourdomain,DC=com" -AccountPassword (ConvertTo-SecureString "Password123" -AsPlainText -Force) -PasswordNeverExpires $true -Enabled $true
计算机帐户管理
删除计算机帐户:
powershellCopy Code
Remove-ADComputer -Identity "ComputerName$"
获取计算机详细信息(包括操作系统):
powershellCopy Code
Get-ADComputer -Identity "ComputerName" -Properties OperatingSystem, LastLogonDate
信任关系管理
删除信任关系:
powershellCopy Code
Remove-ADTrust -Identity "TrustName"
创建新的外部信任关系:
powershellCopy Code
New-ADTrust -Name "TrustName" -TargetDomain "TargetDomainName" -TrustType "External" -Direction "Bidirectional"
计算机名管理
获取计算机的所有网络适配器信息:
powershellCopy Code
Get-NetAdapter | Select-Object Name, Status, MacAddress, LinkSpeed
设置计算机的静态 IP 地址:
powershellCopy Code
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.1.100" -PrefixLength 24 -DefaultGateway "192.168.1.1"
域成员管理
获取域的详细信息:
powershellCopy Code
Get-ADDomain -Identity "yourdomain.com"
检查域控制器的状态:
powershellCopy Code
Get-ADDomainController -Filter * | Select-Object Name, IPv4Address, Site
这些命令有助于进一步管理和维护域环境,提升工作效率。
更多高级 PowerShell 命令和技巧:
用户权限和组管理
将用户添加到组:
powershellCopy Code
Add-ADGroupMember -Identity "GroupName" -Members "UserName"
从组中移除用户:
powershellCopy Code
Remove-ADGroupMember -Identity "GroupName" -Members "UserName" -Confirm:$false
账户审核和安全
查看账户的最后登录时间:
powershellCopy Code
Get-ADUser -Filter * -Properties LastLogonDate | Select-Object DisplayName, LastLogonDate
检查用户是否具有特定权限:
powershellCopy Code
Get-ADUser -Identity "UserName" -Properties MemberOf | Select-Object -ExpandProperty MemberOf
域控制器维护
查看域控制器的操作状态:
powershellCopy Code
Get-ADDomainController -Filter * | Select-Object Name, OperatingSystem, Site, IPv4Address
强制域控制器同步:
powershellCopy Code
Sync-ADObject -Identity "DC=yourdomain,DC=com" -Scope Domain
脚本和自动化
保存查询结果到 CSV 文件:
powershellCopy Code
Get-ADUser -Filter * -Properties DisplayName, EmailAddress | Export-Csv -Path "C:\UsersList.csv" -NoTypeInformation
创建定期任务来运行脚本:
powershellCopy Code
$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Path\To\Script.ps1"
$Trigger = New-ScheduledTaskTrigger -Daily -At "3:00AM"
Register-ScheduledTask -Action $Action -Trigger $Trigger -TaskName "DailyScriptTask" -User "DOMAIN\Username" -Password "Password"
这些命令可以帮助您进一步优化用户和域控制器管理,并实现更复杂的自动化任务。
更多高级 PowerShell 命令和技巧,适用于不同的管理场景:
网络和防火墙
获取所有网络适配器的详细信息:
powershellCopy Code
Get-NetAdapter | Format-Table -AutoSize
设置防火墙规则:
powershellCopy Code
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
列出所有防火墙规则:
powershellCopy Code
Get-NetFirewallRule | Format-Table -Property Name, DisplayName, Enabled, Action
文件和目录管理
获取目录中所有文件的详细信息:
powershellCopy Code
Get-ChildItem -Path "C:\Path\To\Directory" | Select-Object Name, Length, LastWriteTime
递归删除目录及其内容:
powershellCopy Code
Remove-Item -Path "C:\Path\To\Directory" -Recurse -Force
复制文件到新目录:
powershellCopy Code
Copy-Item -Path "C:\Source\File.txt" -Destination "C:\Destination\File.txt"
系统信息和性能监控
获取系统的基本信息:
powershellCopy Code
Get-ComputerInfo | Select-Object CsName, WindowsVersion, WindowsBuildLabEx, Architecture
查看 CPU 使用情况:
powershellCopy Code
Get-Counter -Counter "\Processor(_Total)\% Processor Time"
获取内存使用情况:
powershellCopy Code
Get-Counter -Counter "\Memory\Available MBytes"
Active Directory 备份和恢复
备份 Active Directory 数据库(使用 Windows Server Backup):
powershellCopy Code
wbadmin start backup -backupTarget:D: -include:C: -allCritical -quiet
恢复 Active Directory 数据库(从备份中):
powershellCopy Code
wbadmin start systemstatebackup -backupTarget:D: -quiet
日志和事件查看
查看应用程序日志中的最新事件:
powershellCopy Code
Get-EventLog -LogName Application -Newest 10
过滤特定事件源的日志:
powershellCopy Code
Get-EventLog -LogName System -Source "Service Control Manager" -Newest 10
PowerShell 脚本编写
创建一个简单的 PowerShell 函数:
powershellCopy Code
function Get-UserInfo {
param (
[string]$Username
)
Get-ADUser -Identity $Username -Properties DisplayName, EmailAddress | Select-Object DisplayName, EmailAddress
}
调度 PowerShell 脚本定期运行:
powershellCopy Code
$Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Path\To\Script.ps1"
$Trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At "2:00PM"
Register-ScheduledTask -Action $Action -Trigger $Trigger -TaskName "WeeklyTask" -User "DOMAIN\Username" -Password "Password"
安全和加密
生成新的自签名证书:
powershellCopy Code
New-SelfSignedCertificate -DnsName "example.com" -CertStoreLocation "Cert:\LocalMachine\My"
加密文件:
powershellCopy Code
$File = "C:\Path\To\File.txt"
$EncryptedFile = $File + ".enc"
$Content = Get-Content -Path $File -Raw
$EncryptedContent = ConvertTo-SecureString -String $Content -AsPlainText -Force
Set-Content -Path $EncryptedFile -Value $EncryptedContent
这些高级 PowerShell 命令和技巧可以帮助你在日常管理、自动化任务以及系统监控中提高效率。