将参数传递给函数
Pass parameter into function
我正在尝试通过函数传递数组中的每个值。这就是我所拥有的:
#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 中获取每个项目以通过该函数,如果 returns true 将值输出到控制台。
下面是对我有用的代码:
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
}
}
foreach ($pc in $sccmComputers)
{
CheckDisposal $pc
}
我正在尝试通过函数传递数组中的每个值。这就是我所拥有的:
#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 中获取每个项目以通过该函数,如果 returns true 将值输出到控制台。
下面是对我有用的代码:
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
}
}
foreach ($pc in $sccmComputers)
{
CheckDisposal $pc
}