Powershell 스크립트를 작성 중이며 해시 테이블을 사용하여 데이터베이스 검사에 대한 정보를 저장하고 있습니다. 표는 5 키 (호스트, 확인, 마지막 실행 시간, 마지막으로 담당자, 상태)를 가지고 있는데 값을 내 테이블에서 검색 할 위치 :powershell의 해시 테이블에서 여러 키를 검색하는 방법
$s = $table where $host -eq $hostname -and check -eq $check
사람이 수행하는 방법 어떤 생각을 가지고 있습니까? 그리고 차이가 있다면 스크립트는 2.0 이상의 .NET 프레임 워크에 의존 할 수 없습니다.
Powershell 및 스크립팅에 익숙하지 않아서 매우 명확 할 수 있지만 여전히 답변을 찾지 못하는 것 같습니다. Google. 또한 누군가 Powershell 스크립팅에 대한 좋은 참조 페이지를 알고 있다면 정말 고맙겠습니다.
Gísli
편집 : 그것은 내가 해시 테이블을 만들 때 사용하는 기능을 중요하지만, 여기에 표시되지 않습니다 :
function read_saved_state{
$state = @{}
$logpos = @{}
$last_log_rotate = 0
foreach($s in Get-Content $saved_state_file){
$x = $s.split('|')
if($x[0] -eq 'check'){
$state.host = $x[1]
$state.check = $x[2]
$state.lastexec = $x[3]
$state.lastrep = $x[4]
$state.status = $x[5]
}
elseif($x[0] -eq 'lastrotate'){
$last_log_rotate = $x[1]
}
elseif($x[0] -eq 'log'){
$logpos.lastpos = $x[3]
}
}
$의 saved_state_file는 각 검사 실행에 대한 한 줄을 가지고 있으며, 또한 수 마지막 로그 회전 및 마지막 로그 위치에 대한 행을가집니다. 하나의 호스트에 대해 12 개의 검사가있을 수 있습니다.
특정 검사를 추출하고 특정 호스트에서 실행하며 lastexec_time, last_rep 및 status를 변경하려고합니다. 반환 $ 상태, $ logpos, $ last_log_rotate } 당신이 배열이나 해시 테이블의 목록 (문제에서 완전히 명확하지)가 가정
이 경우 도움이 될 것입니다 해시 테이블을로드하는 데 사용하는 코드를 표시합니다. –
상태 해시 테이블 (새 개체 psobject -property $ state)에서 PS 사용자 지정 개체의 배열을 만들 수 있어야하고 설정되어 있어야합니다. – mjolinor
@mjolinor 어떻게 작동할까요? 그리고 해시 테이블을 사용할 방법이 없습니까? – Gisli