PowerShellリモート再起動IISとService
2252 ワード
接続するコンピュータをテストして遠隔をつけますか?
またはリモートコンピュータで直接表示
開かなかったら開ける
接続する前にリモートのコンピュータを信頼する必要があります
セッションに入る
リンクの共有
https://forsenergy.com/zh-cn/windowspowershellhelp/
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-7
https://www.pstips.net/powershell-online-tutorials
自動的に管理者IDを使用して実行
IISの再起動を自動化するApplication Pool
リモートサービスの自動再起動
Test-WsMan 192.168.1.1
またはリモートコンピュータで直接表示
Get-Service WinRM
開かなかったら開ける
Enable-PSRemoting –Force
接続する前にリモートのコンピュータを信頼する必要があります
TrustedHosts
get-item wsman:\localhost\Client\TrustedHosts
TrustedHosts
set-item wsman:\localhost\Client\TrustedHosts -value *
TrustedHosts
set-item wsman:\localhost\Client\TrustedHosts -value *.omg.com
TrustedHosts
set-item wsman:\localhost\Client\TrustedHosts -value <ComputerName>
IP TrustedHosts
set-item wsman:\localhost\Client\TrustedHosts -value 192.168.1.2
セッションに入る
Enter-PSSession 192.168.1.1 -Credential "OMG\admin"
リンクの共有
https://forsenergy.com/zh-cn/windowspowershellhelp/
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_remote_troubleshooting?view=powershell-7
https://www.pstips.net/powershell-online-tutorials
自動的に管理者IDを使用して実行
$currentWi = [Security.Principal.WindowsIdentity]::GetCurrent()
$currentWp = [Security.Principal.WindowsPrincipal]$currentWi
if( -not $currentWp.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
{
$boundPara = ($MyInvocation.BoundParameters.Keys | foreach{
'-{0} {1}' -f? $_ ,$MyInvocation.BoundParameters[$_]} ) -join ' '
$currentFile = (Resolve-Path? $MyInvocation.InvocationName).Path
$fullPara = $boundPara + ' ' + $args -join ' '
Start-Process "$psHome\powershell.exe"?? -ArgumentList "$currentFile $fullPara"?? -verb runas
return
}
IISの再起動を自動化するApplication Pool
$IP = '192.168.1.1'
$Username = 'omg\administrator'
$Password = 'laotie666'
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Username,$pass
$s = New-PSSession $IP -Credential $Cred
Invoke-Command $s -ScriptBlock { Restart-WebAppPool -Name "Test" }
リモートサービスの自動再起動
Invoke-Command $IP -Credential $Cred -ScriptBlock { Get-Service -Name 'Test' | Restart-Service -Force }