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

[玩转系统] PowerShell 管理员 | PowerShell 管理员完整指南

作者:精品下载站 日期:2024-12-14 05:01:26 浏览:16 分类:玩电脑

PowerShell 管理员 | PowerShell 管理员完整指南


[玩转系统] PowerShell 管理员 | PowerShell 管理员完整指南

PowerShell 管理员简介

PowerShell 管理员是负责维护组织中基于 Windows 的整体服务器的人员。他们还负责维护组织数据的完整性。他们还在维护员工的入职和离职方面发挥着关键作用,因为他们负责维护组织的活动目录。 PowerShell 管理员也称为 Windows 管理员。

以 PowerShell 管理员身份运行的不同方式

在普通模式下运行 PowerShell 中的 cmdlet 或脚本与在管理员模式下运行存在重大区别。这是因为大多数操作都需要管理员访问权限,并且只有 PowerShell 管理员有权执行这些操作。

以下是在管理员模式下运行 PowerShell 的不同方式:

  • 搜索 PowerShell 并右键单击并选择以管理员身份运行。
  • 使用运行命令打开 PowerShell。打开 PowerShell 窗口后,键入 Start-Process PowerShell -verb run as 并按 Enter 键。
  • 通过使用任务管理器,创建一个新任务。在名称中,输入PowerShell并选中“使用管理权限创建此任务”,然后按Enter键。

PowerShell 管理员的角色和职责

以下是角色和职责:

1.检查补丁

PowerShell 管理员的主要职责之一是检查可用的最新补丁并安装它们。对于任何组织来说,这是防止资源遭受漏洞攻击和其他安全相关问题的关键部分。该组织的大多数补丁都是每月安装一次,以避免任何威胁。 Get-Hotfix cmdlet 用于查找补丁。如果我们知道补丁的 ID,则应该传递该知识库文章值。

示例:

代码:

Get-Hotfix

输出:

它将显示本地计算机中安装的所有补丁的列表。

[玩转系统] PowerShell 管理员 | PowerShell 管理员完整指南

2. 监控磁盘空间可用性

PowerShell管理员的另一个重要任务是监视系统中的可用磁盘空间。如果系统中有多个服务器且无法手动完成,此过程将非常繁琐。大多数管理员在脚本的帮助下自动完成这项工作,该脚本定期检查磁盘空间并根据条件发送触发器。这些脚本使用任务计划程序运行,该计划程序将在非工作时间运行。

示例:

代码:

$ServerList= Import-csv -path "C:\serverlist.csv"
ForEach ($s in $ServerList)
{$reportlist=Get-WmiObject win32_logicaldisk -ComputerName $s -Filter "Drivetype=3" -ErrorAction SilentlyContinue | Where-Object {($_.freespace/$_.size) -le '0.2'}
$vi=($reportlist.DeviceID -join ",").Replace(":",""
If ($reportlist)
{
$Eto = "[email "
$Efro = "[email "
$username = '[email '
$pwd = '#$5555'
$sub = "Disk space less than 20%"
$bdy = "In the server $s disk space is less than 20% in $vi"
$smser = "[email "
$smmsg = New-Object System.Net.Mail.MailMessage($Efro,$Eto,$sub,$bdy)
$smtcli = New-Object Net.Mail.SmtpClient($smser, 587)
$smtcli.EnableSsl = $true
$smtcli.Credentials = New-Object System.Net.NetworkCredential($username, $pwd)
$smtcli.Send($smmsg)
}
}

输出:

[玩转系统] PowerShell 管理员 | PowerShell 管理员完整指南

3. 将 csv 中的用户添加到 AD 组

示例:

代码:

write-host "Adding users from csv to a AD group"
Import-Csv “C:\vignesh\userlist.csv” | ForEach-Object {
$USPN = $_.SAN + “@test.com”
New-ADUser `
-DisplayName $_.DN `
-Name $_.”Na” `
-GivenName $_.”GN” `
-Surname $_.”SN” `
-SAN $_.”samname” `
-UserPrincipalName $USPN `
-Office $_.”Of” `
-EmailAddress $_.”emadd” `
-Description $_.”des” `
-AccountPassword (ConvertTo-SecureString “Tes$@123!” -AsPlainText -force) `
-ChangePasswordAtLogon $true `
-Enabled $true `
Add-ADGroupMember “testgroup” $_.”samname”;
write-host "User added successfully"
}

输出:

[玩转系统] PowerShell 管理员 | PowerShell 管理员完整指南

4. 检查服务器是否安装补丁

示例:

代码:

#list of servers to be checked
$servers = get-content -path  C:\servers.txt
#list of patch id's
$patdet = get-content -path  C:\padetails.txt
foreach ($ser in $servers)
{
foreach ($pa in $patdet)
{
Get-HotFix -id $pa -ComputerName $ser -OutVariable re -ErrorAction SilentlyContinue
if ($re -ne $null) {
write-host "Patch $pa is present in the $($ser)"
}
else {
write-host "patch $pa is not present in the $($ser)"
}
}
}

输出:

[玩转系统] PowerShell 管理员 | PowerShell 管理员完整指南

在上面的示例中,服务器列表维护在一个 csv 中,而要检查安装的补丁 ID 列表维护在另一个 csv 中。对于 csv 中提到的每个服务器,都会检查所有补丁 ID 是否已安装。服务器详细信息和补丁 ID 可以在同一个 csv 中提及,但将它们放在不同的 csv 中会很方便。

5. 删除超过 10 天的 IIS 日志

代码:

Write-Host "Welcome to the iis logs archive example"
$iislogpath = Import-Csv "C:\Vignesh\logpath.csv"
foreach($path in $iislogpath)
{
write-host "The iis log location is" $path
$deleteddays = "-10"
$CurrentDate = Get-Date
$noofdays = $CurrentDate.AddDays($deleteddays)
Get-ChildItem $Path -Recurse  | Where-Object { $_.CreationTime  -lt $noofdays } | Remove-Item
Write-Host "log files older than 7 days are deleted "
}

输出:

[玩转系统] PowerShell 管理员 | PowerShell 管理员完整指南

在上面的脚本中,文本文件中提到了日志位置列表。然后在每个路径中,大于7天的文件将被删除。这也可以在任务计划程序中进行计划,并且可以在每天的非工作时间运行。

结论

因此,本文详细介绍了谁是 PowerShell 管理员以及他的角色和职责。提到的角色只是少数,但比 PowerShell 管理员在日常活动中执行的任务还要多。这些角色通过适当的示例进行了解释。在某些情况下,PowerShell 管理员还负责组织的整体基础架构。

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

取消回复欢迎 发表评论:

关灯