h41msh1c0r

Powershell funktion mag nicht und es wird keine Parameterliste angezeigt

Aloa in die Runde,

statt immer einen Schnipsel an den nächsten zu heften, sollte mal eine Funktion rauskommen. *gg*

2 Listen in CSV Form liegen vor und ich filtere die erste Liste anhand der Kürzel aus der 2ten.
Ergebnis wird in ein 3tes CSV geschrieben. Soweit so gut.

Stand:
function Get-OwnClients
{
    [CmdletBinding()]
    [Alias()]
    [OutputType([int])]
    Param
    (
        # Hilfebeschreibung zu Param1
        [Parameter(Mandatory=$true,
                   ValueFromPipelineByPropertyName=$true,
                   Position=0)]
        $Param1,

        # Hilfebeschreibung zu Param2
        [Parameter(Mandatory=$true,
                   ValueFromPipelineByPropertyName=$true,
                   Position=0)]
        $Param2,

        # Hilfebeschreibung zu Param2
        [Parameter(Mandatory=$true,
                   ValueFromPipelineByPropertyName=$true,
                   Position=0)]
        $Param3
    )

    Begin
    {
     $quelle_Namen   = import-csv -Path $Param1 -Delimiter ";"  
     $quelle_Kuerzel = import-csv -Path $Param2 -Delimiter ";"  

     $ergebnis = @()
    }
    Process
    {
      foreach($item in $quelle_Kuerzel){
            Write-Host $item.Netzkuerzel
            foreach($item2 in $quelle_Namen){
                if ($item2.Name.StartsWith($item.Netzkuerzel) -eq $true){
                    Write-Host $item2.Name

                    $resultPart = New-Object PSCustomObject
                    $resultPart | Add-Member -type NoteProperty -Name Name -Value $item2.Name 

                    $ergebnis += $resultPart

                }
            }
        }
    }
    End
    {
     $ergebnis | Export-Csv -Path $Param3 -Delimiter ";" -NoTypeInformation   
    }
}

Wenn ich die Funktion in der ISE ausführe klappt es.

PS1 gespeichert und in der Powershell bekomme ich bei ".\Get-OwnClients.ps1 -" noch nichtmal die Parameterliste angezeigt.

Klimper ich die Parameter so ein passiert auch nix, nichtmal eine Fehlerausgabe.

  .\Get-OwnClients.ps1 -Param1 D:\temp2\Quelle_Namen.csv -Param2 D:\temp2\Quelle_Kuerzel.csv -Param3 d:\temp\ergebnis.csv

Woran liegt das?

Selbst wenn ich nur get-ownclients.ps1 ausführe meckert er noch nichtmal die fehlenden Parameter an. Obwohl die doch auf Mandatory stehen.

VG
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 444838

Url: https://administrator.de/forum/powershell-funktion-mag-nicht-und-es-wird-keine-parameterliste-angezeigt-444838.html

Ausgedruckt am: 07.05.2025 um 11:05 Uhr

Kraemer
Lösung Kraemer 26.04.2019 um 13:46:17 Uhr
Goto Top
Moin,

du rufst di Funktion ja gar nicht auf.

Gruß
SeaStorm
Lösung SeaStorm 26.04.2019 um 14:02:08 Uhr
Goto Top
also im moment rufst du nur das Script auf, das dann eine Function deklariert. Aufgerufen wird diese allerdings nicht.
mayho33
Lösung mayho33 26.04.2019 aktualisiert um 14:08:23 Uhr
Goto Top
Ich würde die PS1 mal in ein PSM1 umwandeln und vorher einfach temporär importieren Import-Module .\Get-OwnClients.psm1

Danach die Methode aufrufen

oder...

das Function-Konstrukt einfach entfernen. Dann gehts auch so wie du es oben aufrufst
H41mSh1C0R
H41mSh1C0R 26.04.2019 um 14:21:52 Uhr
Goto Top
Zeit fürs Wochenende. *gg*

DS
mayho33
mayho33 26.04.2019 um 14:30:58 Uhr
Goto Top
Zitat von @H41mSh1C0R:

Zeit fürs Wochenende. *gg*

DS

Mitten ins Herz! Hab noch bis 19 Uhr -_-
H41mSh1C0R
H41mSh1C0R 26.04.2019 aktualisiert um 14:36:46 Uhr
Goto Top
Nur weil es Zeit fürs WE ist heißt das nicht das ich los kann. ;(

Meine Stechuhr sagt 18:50 Uhr ;(
mayho33
mayho33 26.04.2019 um 14:39:01 Uhr
Goto Top
Zwei arme Schweine im Mahlwerk des Wirtschafts-Kapitalismus. Hahahaha!