0
내가 먼저 데이터베이스에 내가 만드는 오전 SELECT에서 연결 파워 쉘 코드를 사용하고
를 사용하여,이 출력은 출력 "루프는 모든 % SERVERNAME에서"get-childitem "을 만들어 모든 EXE 파일을 찾고 out-gridview로 출력합니다.PowerShell을 foreach는이 SQL 데이터 입력
내 foreach 문은 다음과 같이하지만 분명히 작동하지 않습니다 :이 foreach는이
$Connection.open()
Write-host "Database Connection $databasename = SUCCESSFULL : Searching role $Role in $palier ..." -foregroundcolor green -backgroundcolor black
$SqlCmd.CommandText = $SqlQuery
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$SqlCmd.Connection = $Connection
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($Dataset)
$Connection.Close()
$Result = $Dataset.Tables[0]
$Result
Foreach ($name in $Result)
{
$name = Get-ChildItem "\\$_\c$\" -recurse -filter *.exe
}
을 수행하는 방법은?
P. : 데이터베이스 연결이 작동하고 있기 때문에 많은 정보에 추가하고 싶지 않았고 foreach 측에서 실패한 부분을 이해하고 싶습니다.
매력처럼 작동합니다. "@()"과 "\\ $ ($ Record.name)"라는 두 개의 매개 변수를 설명해 주시겠습니까? 왜 레코드 이름 앞에 달러 기호를 사용합니까? –
'@()'는'GCI' 결과를 채우기위한 빈 배열을 만듭니다. '$ ($ Results.name)'은 따옴표로 묶은 문자열 내에서 속성에 대한 변수 확장을 얻는 방법입니다 (예, 여기서 인용하지 않았습니다 - 습관의 힘). – alroc