powershell 日常操作服务器脚本(1)

由于日常接触服务器和APP运维工作较多,估整理一些日常使用powershell 脚本来操作服务器的一些方法:

脚本如下:

# 重启IIS
function Action-IIS-Restart
{
param(
#输入参数
[Paramter(Mandatory=$true)]
[string]
$password,
[evntype]
$evn 
)
#password 转换
$password_conv =ConvertTo-SecureString -String
#需要重启IIS的服务器列表
$servers= 'server1','server2'
#登陆凭证对应用户信息
$username='username'
#创建登陆凭证
$credential =New-Object System.Management.Automation.PSCredential -argumentlist $username ,$password_conv
write-output '正在重启 IIS 服务 ................ '
#循环遍历需要重启IIS服务器
foreach($server in $servers){
$message= '正在重启 IIS 服务,服务器 : '+$server
write-output $message
$sessions=New-PSSession -ComputerName $server -credential $credential
Invoke-Command –Session $sessions -scriptBlock {restart-Service w3svc}
$message= 'IIS 服务已重启,服务器 : '+$server
write-output $message

}
write-output 'IIS 服务已全部重启 ...................'
}



#重启服务器
function Action-Restart-Server
{
param(
[Paramter(Mandatory=$true)]
[string]
$password
)
$username='username' #推荐使用G-account ,且该账号需要有admin权限
$servers='server1','server2'#需要重启的服务器列表
$password_conv =ConvertTo-SecureString -String $password -AsPlainText -Force 
#创建凭证
$credential =New-Object System.Management.Automation.PSCredential -argumentlist $username ,$password_conv
#重启命令
write-output '开始重启服务器......' 
Restart-Computer -ComputerName $servers -Credential $credential -Wait -For PowerShell -InformationAction 
write-output '服务器重启完成......' 
}
#获取服务上IIS pool的状态
function IIS_Status_Check{
#获取应用程序池状态
Import-Module WebAdministration; Get-WebAppPoolState -Name 'DefaultAppPool' 
#开启应用程序池
Import-Module WebAdministration; Start-WebAppPool -Name 'DefaultAppPool' 
#关闭应用程序池
Import-Module WebAdministration; Stop-WebAppPool -Name 'DefaultAppPool'

#获取站点状态
Import-Module WebAdministration; Get-WebsiteState -Name "Default Web Site"
}
View Code

--待续--

posted @ 2020-07-09 14:00  老丹点赵  阅读(368)  评论(0编辑  收藏  举报