PowerShell 命令示例:
域管理
-
加入域:
powershellCopy CodeAdd-Computer -DomainName "yourdomain.com" -Credential "yourdomain\username" -Restart
-
重新加入域:
powershellCopy CodeRemove-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 CodeReset-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 CodeAdd-Computer -DomainName "yourdomain.com" -OUPath "OU=Computers,DC=yourdomain,DC=com" -Credential "yourdomain\username" -Restart
-
重新加入域(指定新计算机名):
powershellCopy CodeRemove-Computer -UnjoinDomainCredential "yourdomain\username" -PassThru -Restart
计算机帐户管理
-
查看计算机帐户详细信息:
powershellCopy CodeGet-ADComputer -Identity "ComputerName" -Properties *
-
计算机帐户重置(手动指定帐户):
powershellCopy CodeReset-ComputerMachinePassword -Server "DomainController" -Credential (Get-Credential)
信任关系管理
-
查看现有信任关系:
powershellCopy CodeGet-ADTrust -Filter *
-
建立单向信任关系:
powershellCopy CodeNew-ADTrust -Name "TrustName" -SourceForest "source.domain.com" -TargetForest "target.domain.com" -Direction "Inbound"
-
删除信任关系(确认删除):
powershellCopy CodeRemove-ADTrust -Identity "TrustName" -Confirm:$true
计算机名管理
- 更改计算机名并将其从域中删除:
powershellCopy Code
Rename-Computer -NewName "NewComputerName" -DomainCredential "yourdomain\username" -Restart
域成员管理
-
按操作系统列出计算机:
powershellCopy CodeGet-ADComputer -Filter * -Property OperatingSystem | Select-Object Name,OperatingSystem
-
根据组织单位(OU)列出计算机:
powershellCopy CodeGet-ADComputer -Filter * -SearchBase "OU=Computers,DC=yourdomain,DC=com"
这些命令可以帮助您更细致地管理和维护域及计算机帐户。
更多的 PowerShell 命令和技巧,以帮助您更深入地管理域和计算机:
域管理
-
获取域控制器信息:
powershellCopy CodeGet-ADDomainController -Filter *
-
查看域信任关系详细信息:
powershellCopy CodeGet-ADDomain -Identity "yourdomain.com" | Select-Object -ExpandProperty Trusts
计算机帐户管理
-
查找指定 OU 下的计算机帐户:
powershellCopy CodeGet-ADComputer -Filter * -SearchBase "OU=Computers,DC=yourdomain,DC=com"
-
修改计算机帐户属性(例如描述):
powershellCopy CodeSet-ADComputer -Identity "ComputerName" -Description "New Description"
信任关系管理
-
获取特定信任关系的详细信息:
powershellCopy CodeGet-ADTrust -Identity "TrustName"
-
更新信任关系:
powershellCopy CodeSet-ADTrust -Identity "TrustName" -Direction "Bidirectional" -TrustType "External"
计算机名管理
- 重命名计算机并加入到域(指定域控制器):
powershellCopy Code
Rename-Computer -NewName "NewComputerName" -DomainCredential "yourdomain\username" -Restart -ComputerName "OldComputerName"
域成员管理
-
列出所有计算机及其最后登录时间:
powershellCopy CodeGet-ADComputer -Filter * -Property LastLogonTimestamp | Select-Object Name, @{Name="LastLogonDate";Expression={[DateTime]::FromFileTime($_.LastLogonTimestamp)}}
-
检查计算机是否在域中:
powershellCopy CodeTest-ComputerSecureChannel -Verbose
这些命令可以帮助您更精确地管理和监控您的域及其计算机。
更多的 PowerShell 命令和技巧:
域管理
-
创建新组织单位(OU):
powershellCopy CodeNew-ADOrganizationalUnit -Name "OUName" -Path "DC=yourdomain,DC=com"
-
移动计算机到新的 OU:
powershellCopy CodeMove-ADObject -Identity "CN=ComputerName,OU=OldOU,DC=yourdomain,DC=com" -TargetPath "OU=NewOU,DC=yourdomain,DC=com"
计算机帐户管理
-
禁用计算机帐户:
powershellCopy CodeDisable-ADAccount -Identity "ComputerName$"
-
启用计算机帐户:
powershellCopy CodeEnable-ADAccount -Identity "ComputerName$"
信任关系管理
- 验证信任关系状态:
powershellCopy Code
Test-ADTrust -Identity "TrustName"
计算机名管理
-
获取当前计算机名称:
powershellCopy Code$env:COMPUTERNAME
-
重命名计算机并重新启动(指定域用户):
powershellCopy CodeRename-Computer -NewName "NewComputerName" -DomainCredential (Get-Credential) -Restart
域成员管理
-
检查计算机是否在线:
powershellCopy CodeTest-Connection -ComputerName "ComputerName" -Count 2
-
获取计算机所在的域信息:
powershellCopy CodeGet-ADComputer -Identity "ComputerName" -Properties DNSHostName | Select-Object DNSHostName
这些命令可以帮助您进一步优化域环境的管理和维护。
更多高级的 PowerShell 命令和技巧:
域管理
-
查看域中的所有用户及其属性:
powershellCopy CodeGet-ADUser -Filter * -Properties DisplayName, EmailAddress | Select-Object DisplayName, EmailAddress
-
创建新的用户并设置密码:
powershellCopy CodeNew-ADUser -Name "New User" -GivenName "New" -Surname "User" -UserPrincipalName "[email protected]" -Path "OU=Users,DC=yourdomain,DC=com" -AccountPassword (ConvertTo-SecureString "Password123" -AsPlainText -Force) -PasswordNeverExpires $true -Enabled $true
计算机帐户管理
-
删除计算机帐户:
powershellCopy CodeRemove-ADComputer -Identity "ComputerName$"
-
获取计算机详细信息(包括操作系统):
powershellCopy CodeGet-ADComputer -Identity "ComputerName" -Properties OperatingSystem, LastLogonDate
信任关系管理
-
删除信任关系:
powershellCopy CodeRemove-ADTrust -Identity "TrustName"
-
创建新的外部信任关系:
powershellCopy CodeNew-ADTrust -Name "TrustName" -TargetDomain "TargetDomainName" -TrustType "External" -Direction "Bidirectional"
计算机名管理
-
获取计算机的所有网络适配器信息:
powershellCopy CodeGet-NetAdapter | Select-Object Name, Status, MacAddress, LinkSpeed
-
设置计算机的静态 IP 地址:
powershellCopy CodeNew-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.1.100" -PrefixLength 24 -DefaultGateway "192.168.1.1"
域成员管理
-
获取域的详细信息:
powershellCopy CodeGet-ADDomain -Identity "yourdomain.com"
-
检查域控制器的状态:
powershellCopy CodeGet-ADDomainController -Filter * | Select-Object Name, IPv4Address, Site
这些命令有助于进一步管理和维护域环境,提升工作效率。
更多高级 PowerShell 命令和技巧:
用户权限和组管理
-
将用户添加到组:
powershellCopy CodeAdd-ADGroupMember -Identity "GroupName" -Members "UserName"
-
从组中移除用户:
powershellCopy CodeRemove-ADGroupMember -Identity "GroupName" -Members "UserName" -Confirm:$false
账户审核和安全
-
查看账户的最后登录时间:
powershellCopy CodeGet-ADUser -Filter * -Properties LastLogonDate | Select-Object DisplayName, LastLogonDate
-
检查用户是否具有特定权限:
powershellCopy CodeGet-ADUser -Identity "UserName" -Properties MemberOf | Select-Object -ExpandProperty MemberOf
域控制器维护
-
查看域控制器的操作状态:
powershellCopy CodeGet-ADDomainController -Filter * | Select-Object Name, OperatingSystem, Site, IPv4Address
-
强制域控制器同步:
powershellCopy CodeSync-ADObject -Identity "DC=yourdomain,DC=com" -Scope Domain
脚本和自动化
-
保存查询结果到 CSV 文件:
powershellCopy CodeGet-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 CodeGet-NetAdapter | Format-Table -AutoSize
-
设置防火墙规则:
powershellCopy CodeNew-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
-
列出所有防火墙规则:
powershellCopy CodeGet-NetFirewallRule | Format-Table -Property Name, DisplayName, Enabled, Action
文件和目录管理
-
获取目录中所有文件的详细信息:
powershellCopy CodeGet-ChildItem -Path "C:\Path\To\Directory" | Select-Object Name, Length, LastWriteTime
-
递归删除目录及其内容:
powershellCopy CodeRemove-Item -Path "C:\Path\To\Directory" -Recurse -Force
-
复制文件到新目录:
powershellCopy CodeCopy-Item -Path "C:\Source\File.txt" -Destination "C:\Destination\File.txt"
系统信息和性能监控
-
获取系统的基本信息:
powershellCopy CodeGet-ComputerInfo | Select-Object CsName, WindowsVersion, WindowsBuildLabEx, Architecture
-
查看 CPU 使用情况:
powershellCopy CodeGet-Counter -Counter "\Processor(_Total)\% Processor Time"
-
获取内存使用情况:
powershellCopy CodeGet-Counter -Counter "\Memory\Available MBytes"
Active Directory 备份和恢复
-
备份 Active Directory 数据库(使用 Windows Server Backup):
powershellCopy Codewbadmin start backup -backupTarget:D: -include:C: -allCritical -quiet
-
恢复 Active Directory 数据库(从备份中):
powershellCopy Codewbadmin start systemstatebackup -backupTarget:D: -quiet
日志和事件查看
-
查看应用程序日志中的最新事件:
powershellCopy CodeGet-EventLog -LogName Application -Newest 10
-
过滤特定事件源的日志:
powershellCopy CodeGet-EventLog -LogName System -Source "Service Control Manager" -Newest 10
PowerShell 脚本编写
-
创建一个简单的 PowerShell 函数:
powershellCopy Codefunction 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 CodeNew-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 命令和技巧可以帮助你在日常管理、自动化任务以及系统监控中提高效率。
标签:powershellCopy,Code,计算机,删除,Get,Identity,帐户 From: https://www.cnblogs.com/suv789/p/18364876