Параметры и функции Powershell - PullRequest
0 голосов
/ 30 января 2020

Я использую функцию и параметры, но без результата, если я использую только код, который запускается в Invoke, я получаю результат для меня.

мой код:

function Test-RegistryValue {

param (

 [parameter(position=0, Mandatory=$true)]
 [ValidateNotNullOrEmpty()]$pcs,

 [parameter(position=1, Mandatory=$true)]
 [ValidateNotNullOrEmpty()]$PathTAG

 [parameter(position=2, Mandatory=$true, ValueFromPipelineByPropertyName = $true)]
[ValidateNotNullOrEmpty()]$PathUNIN

)

{
Invoke-Command -ComputerName $PCs  -ScriptBlock { 


If (Get-ItemProperty -Path 'HKLM:\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$PathTAG ) {

    Write-host "$env:computername Value TAG exists" -ForegroundColor green


} Else {

    Write-host "$env:computername Value TAG DOES NOT exist"  -ForegroundColor red

} 

If (Get-ItemProperty -Path $PathUNIN -ErrorAction SilentlyContinue  ) {

    Write-host "$env:computername Value Uninstall exists" -ForegroundColor green

} Else {

    Write-Host "$env:computername Value uninstal DOES NOT exist"  -ForegroundColor red

}

 }
  }
  } 

после ввода значения, он не получает ожидаемый результат. Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 30 января 2020

Попробуйте это:

function Test-RegistryValue {

    param (

    [parameter(position=0, Mandatory=$true)]
    [ValidateNotNullOrEmpty()]$pcs,

    [parameter(position=1, Mandatory=$true)]
    [ValidateNotNullOrEmpty()]$PathTAG,

    [parameter(position=2, Mandatory=$true, ValueFromPipelineByPropertyName = $true)]
    [ValidateNotNullOrEmpty()]$PathUNIN

    )


Invoke-Command -ComputerName $PCs  -ScriptBlock { 

    param(  $pcs,
            $PathTAG,
            $PathUNIN )

    if (Get-ItemProperty -Path "HKLM:\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$PathTAG" ) {

        Write-host "$env:computername Value TAG exists" -ForegroundColor green }

    else {

        Write-host "$env:computername Value TAG DOES NOT exist"  -ForegroundColor red
    } 

    if (Get-ItemProperty -Path $PathUNIN -ErrorAction SilentlyContinue  ) {

        Write-host "$env:computername Value Uninstall exists" -ForegroundColor green }

    else {

        Write-Host "$env:computername Value uninstal DOES NOT exist"  -ForegroundColor red

    }

 } -ArgumentList $pcs, $PathTAG, $PathUNIN

 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...