마침내이 모든 powershell 스크립트를 사용하여 모든 도움을 받으십시오. !!!! Powershell에서 하드 코드로 암호화 된 자격 증명을 입력하십시오.
$line_array = @()
$multi_array = @()
[hashtable]$my_hash = @{}
foreach ($i in $args){
$line_array+= $i.split(" ")
}
foreach ($j in $line_array){
$multi_array += ,@($j.split("="))
}
foreach ($k in $multi_array){
$my_hash.add($k[0],$k[1])
}
$Sender_IP = $my_hash.Get_Item("sender-ip")
$eventList = @()
Get-EventLog "Security" -computername $Sender_IP `
| Where -FilterScript {$_.EventID -eq 4624 -and $_.ReplacementStrings[4].Length -gt 10 -and $_.ReplacementStrings[5] -notlike "*$"} `
| Select-Object -First 2 `
| foreach-Object {
$row = "" | Select UserName, LoginTime
$row.UserName = $_.ReplacementStrings[5]
$row.LoginTime = $_.TimeGenerated
$eventList += $row
}
$userId = $eventList[0].UserName
$userId
는
.\FOO.ps1 sender-ip=10.2.23.40 sender-name=joe sender-id=djoe
으로 호출 할 수 있지만 지금은 그것을 호출이 타사 프로그램에 대한 준비를해야합니다. 스크립트는 서비스 계정으로 실행되는 경우에만 출력을 생성합니다 (즉, 주어진 IP 주소에 대해 마지막 사용자가 로그온 한 것을 찾습니다). 즉, 스크립트를 테스트 할 때 'Run-As'를 선택하고 서비스 계정 자격 증명을 입력 할 수 있습니다.
타사 프로그램은 서비스 자격 증명을 사용하여 실행되지 않으므로 프로그램 측에서해야합니다.
이 프로그램을 서비스 계정으로 자동 실행하는 방법은 무엇입니까? 어떻게 이것을 하드 코드합니까? 사용자 이름과 암호는 암호화되어야합니다.
올바른 방향으로 나를 가리킬 수 있습니까?
이 링크를 읽고있다 그리고 그것은
PS C:\> read-host -assecurestring | convertfrom-securestring | out-file C:\cred.txt
그리고 파일에 암호화 된 암호 펌프 스크립트에 그것을 돌려 보내야하는 방법을 보여줍니다
PS C:\> $password = get-content C:\cred.txt | convertto-securestring
자격 증명 개체를 생성하십시오.
PS C:\> $credentials = new-object -typename System.Management.Automation.PSCredential -argumentlist "myusername",$password
하지만 난 아직도 내가 그 중요한 점을 생각할 겁니다 이러한 자격 증명