201806122122[note] 使用powershell連線到未加入網域電腦重新啟動服務

 

最近因為工作需要遠端重啟主機上的服務, 但偏偏是未加入網域的主機, 在網路上搜尋了一些參考語法, 經過不斷修改及測試, 終於可以用了, 提供給需要的朋友們參考~~

# 1. 請先連線到non-domain的computer, 開啟powershell執行以下指令:
Enable-PSRemoting –force

# 2. 請在localhost執行(個人電腦也可以)
cd WSMan:\localhost\Client
Set-Item .\TrustedHosts -Value "*" -Force
#上面也可以用這段取代: Set-Item wsman:\localhost\client\trustedhosts *
Get-Item wsman:\localhost\client\trustedhosts
Restart-Service WinRM

# 3.確認連線是否正常
Test-WsMan 主機名稱

# 4.連線到遠端重新啟動服務
Clear-Host
Write-Host "Remote non-domain computers..."
$servers  = Get-Content -Path "c:\work\computers.txt"

foreach($server in $servers) {
$username = 'non-domain登入帳號,例如:administrator'
$password = 'non-domain登入密碼,例如:1234'
$pw   = ConvertTo-SecureString $password -AsPlainText -Force
$cred = New-Object Management.Automation.PSCredential ($username, $pw)
$s = New-PSSession -computerName $server -credential $cred
$s | Format-Table -Property Id, Name, ComputerName, ComputerType, Status, ConfigurationName, Availability -auto
Enter-PSSession $s
# 確認AIService執行狀態, Restart or Start
Invoke-Command -Session $s -Scriptblock {Get-Service -Name "AI*" | Where-Object {$_.Status -eq "Running"} | Restart-Service -pass }
Invoke-Command -Session $s -Scriptblock {Get-Service -Name "AI*" | Where-Object {$_.Status -eq "stopped"} | start-Service -pass }
Remove-PSSession $s
}

 

回應
關鍵字
[此功能已終止服務]
    沒有新回應!





Powered by Xuite