====== Power Shell ======
* https://www.howtogeek.com/117192/how-to-run-powershell-commands-on-remote-computers/
# ps remoting 기능 활성화
Enable-PSRemoting -Force
Set-Item wsman:\localhost\client\trustedhosts *
Restart-Service WinRM
# 연결 테스트
Test-WsMan COMPUTER
# 명령어 한개 실행
Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME
# 예) Invoke-Command -ComputerName IP -ScriptBlock { cmd /c "명령어1 && 명령어2" } -credential 유저
# 세션 연결
Enter-PSSession -ComputerName COMPUTER -Credential USER
* credential 생성
* https://talsu.net/?p=2108
# 암호입력
$secureString = Read-Host -AsSecureString
# 문자열로 변환
$secureString | ConvertFrom-SecureString
# credential.txt에 저장
Read-Host -AsSecureString | ConvertFrom-SecureString | Set-Content "credential.txt"
# creadential.txt에서 credential 복원
Set-Variable -Name user -Value 유저
Set-Variable -Name ip -Value ???.???.???.???
$secureString = Get-Content "credential.txt" | ConvertTo-SecureString
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $user, $secureString
$session = New-PSSession -ComputerName $ip -Credential $cred
# Invoke-Command -ComputerName $ip -ScriptBlock { cmd /c "activate base && where python && ipconfig" } -credential $cred