2017-03-01 17 views
1

配列の各値を関数で渡そうとしています。関数にパラメータを渡す

#Pulls a list of computers from SCCM 
$sccmComputers = Get-ComputersCollection -CollectionName "All Desktops" 

#Function to check each item in $sccmComputers against a database. 
Function CheckDisposal ($pc){ 
$check = invoke-sqlcmd2 -ServerInstance shopserv-lr -Database inventory -query "SELECT * FROM Computers WHERE ServiceTag = '$pc' and Status = 'Disposed' " 
return $check} 

foreach ($pc in $sccmComputers) 
{ 

} 

私はコンソールに戻り、真の出力機能を通過した場合に値を渡すために$ sccmComputersからの各項目を取得する方法を見つけ出すように見えることはできません。これは私が持っているものです。以下は

私のために働いていたコードです:

Function CheckDisposal ($a){ 
$check = invoke-sqlcmd2 -ServerInstance shopserv-lr -Database inventory -query "SELECT * FROM Computers WHERE Name = '$a' and Status = 'Disposed'" 
return $check 
} 


$sccmComputers = Get-ComputersCollection -CollectionName "All Desktops" 


foreach($item in $sccmComputers) 
{ 

    $dispose = CheckDisposal $item.Name 
    if($dispose) 
    { 
    Write-Output $dispose.Name 
    } 
} 
+0

、foreachループ内で、あなたの関数を呼び出しますか? – 4c74356b41

答えて

0
foreach ($pc in $sccmComputers) 
{ 
    CheckDisposal $pc 
} 
+0

データベース内でクエリが$ pcを見つけたら、どうすればコンソールに出力することができますか? – Matthew

+0

私が前提としているのは、返されたときに返されることです。$ check –

+0

上記の変更でコードを実行すると、現在何が起こりますか? –

関連する問題