본문 바로가기

운영체제/Windows

PowerShell을 이용하여 자동로그인 및 명령어 실행

반응형

아래는 login.txt 파일에서 사용자 정보를 읽은후 doit.ps1 스크리트에서 각 서버에 접속하여 hostname 및 volume 정보를 가져오는 예이다

1. login.txt

192.168.0.100 Administrator adminPassword
192.168.0.101 Administrator adminP@ssw0rd

2. 실행스크립트

doit.ps1

$LINECOUNT = (gc .\login.txt).count 
$IP = Get-Content .\login.txt | %{ $_.split(" ")[0];}
$USER = Get-Content .\login.txt | %{ $_.split(" ")[1];}
$PW = Get-Content .\login.txt | %{ $_.split(" ")[2];}
for($i=0; $i -lt $LINECOUNT ; $i++)
{
echo "============="
$IP[$i]
echo "============="
$password = ConvertTo-SecureString $PW[$i] -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential ($USER[$i], $password)
Invoke-Command -ComputerName $IP[$i] -Credential $cred  -SessionOption (New-PsSessionOption -SkipCACheck -SkipCNCheck) -UseSSL -ScriptBlock {hostname ; get-volume}
}

*  WinRM  구성(원격 로그인은 WinRM  HTTPS Listener)

 

WinRM - HTTPS Listener 구성

1.Listener 확인 및 삭제 > winrm enumerate winrm/config/listener > winrm delete winrm/config/Listener?Address=*+Transport=HTTPS 2.인증서 생성 > New-SelfSignedCertificate -CertstoreLocation Cert:\LocalMachine\My -DnsName $env:COMPUTERNAME thumbprin

fliedcat.tistory.com

 

반응형