Skriptblock, den ich gerne vor andere Skripte als Funktion setzen möchte

Helfe beim Thema Skriptblock, den ich gerne vor andere Skripte als Funktion setzen möchte in Windows 10 Support um eine Lösung zu finden; ich habe einen Skriptblock, den ich gerne vor andere Skripte als Funktion setzen möchte. Das Skript funktioniert an sich, allerdings nicht in einer... Dieses Thema im Forum "Windows 10 Support" wurde erstellt von living_in_a_blue_world, 15. März 2018.

  1. living_in_a_blue_world
    living_in_a_blue_world Gast

    Skriptblock, den ich gerne vor andere Skripte als Funktion setzen möchte


    ich habe einen Skriptblock, den ich gerne vor andere Skripte als Funktion setzen möchte.


    Das Skript funktioniert an sich, allerdings nicht in einer Funktion. (Weder der erste Teil, der Regkeys setzt, noch der zweite Teil, der ein Desktop Icon setzt. Die beiden Teile sind durch drei Rauten gekennzeichnet.)


    Ich vermute, die Funktion komm mit $MyInvocation nicht zurecht?!


    Wie kann ich das Skript in einer Funktion aufrufen?


    Skript, wie es funktioniert:



    ### Überprüfen, ob PS Skripte als Admin und als anderer User über das Kontextmenü ausgeführt werden können. Falls nicht, Wert hinzufügen.

    $Regkeys = test-path "HKLM:\Software\Classes\Microsoft.PowershellScript.1\Shell\runas"

    if ($regkeys -eq $false)
    {
    If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))

    {
    $arguments = "& '" + $myinvocation.mycommand.definition + "'"
    Start-Process powershell -Verb runAs -ArgumentList $arguments
    Break
    }

    # Füge "Ausführen als..." und "Als Administrator ausführen" für PS Skripte dem Kontextmenü zu

    New-Item -Path "Registry::HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Als anderer Benutzer ausführen\command" `
    -Force -Name '' -Value '"c:\windows\system32\windowspowershell\v1.0\powershell.exe" "Start-Process Powershell.exe -Credential (Get-Credential) -ArgumentList %1"'


    New-Item -Path "Registry::HKEY_CLASSES_ROOT\Microsoft.PowershellScript.1\Shell\runas\command" `
    -Force -Name '' -Value '"c:\windows\system32\windowspowershell\v1.0\powershell.exe" -noexit -file "%1"'
    }
    else
    {}

    ### Verknüpfung auf dem Desktop erstellen, falls nicht vorhanden

    # Name des Skripts ohne .ps1
    $Scriptname = $MyInvocation.MyCommand.Name
    $Scriptname = $Scriptname.replace(".ps1", $null)
    # Pfad des Skripts mit Name und Endung
    $TargetFile = $MyInvocation.MyCommand.Path
    $ShortcutFile = "$env:USERPROFILE\Desktop" + "\$Scriptname.lnk"

    # Überprüfen, ob shortcut zu diesem skript auf dem Desktop existiert. Falls nicht, anlegen
    $ShortcutExist = test-path $ShortcutFile

    if ($ShortcutExist -eq $false)

    {

    $WScriptShell = New-Object -ComObject WScript.Shell
    $Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
    $Shortcut.TargetPath = $TargetFile
    $Shortcut.WorkingDirectory = "$env:SystemRoot\System32\WindowsPowerShell\v1.0"
    $Shortcut.Save()
    }
    else
    {}


    Skript als Funktion:


    Function Set-DesktopIconAndRegkeys
    {
    ### Überprüfen, ob PS Skripte als Admin und als anderer User über das Kontextmenü ausgeführt werden können. Falls nicht, Wert hinzufügen.

    $Regkeys = test-path "HKLM:\Software\Classes\Microsoft.PowershellScript.1\Shell\runas"

    if ($regkeys -eq $false)
    {
    If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))

    {
    $arguments = "& '" + $myinvocation.mycommand.definition + "'"
    Start-Process powershell -Verb runAs -ArgumentList $arguments
    Break
    }

    # Füge "Ausführen als..." und "Als Administrator ausführen" für PS Skripte dem Kontextmenü zu

    New-Item -Path "Registry::HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Als anderer Benutzer ausführen\command" `
    -Force -Name '' -Value '"c:\windows\system32\windowspowershell\v1.0\powershell.exe" "Start-Process Powershell.exe -Credential (Get-Credential) -ArgumentList %1"'


    New-Item -Path "Registry::HKEY_CLASSES_ROOT\Microsoft.PowershellScript.1\Shell\runas\command" `
    -Force -Name '' -Value '"c:\windows\system32\windowspowershell\v1.0\powershell.exe" -noexit -file "%1"'
    }
    else
    {}

    ### Verknüpfung auf dem Desktop erstellen, falls nicht vorhanden

    # Name des Skripts ohne .ps1
    $Scriptname = $MyInvocation.MyCommand.Name
    $Scriptname = $Scriptname.replace(".ps1", $null)
    # Pfad des Skripts mit Name und Endung
    $TargetFile = $MyInvocation.MyCommand.Path
    $ShortcutFile = "$env:USERPROFILE\Desktop" + "\$Scriptname.lnk"

    # Überprüfen, ob shortcut zu diesem skript auf dem Desktop existiert. Falls nicht, anlegen
    $ShortcutExist = test-path $ShortcutFile

    if ($ShortcutExist -eq $false)

    {

    $WScriptShell = New-Object -ComObject WScript.Shell
    $Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
    $Shortcut.TargetPath = $TargetFile
    $Shortcut.WorkingDirectory = "$env:SystemRoot\System32\WindowsPowerShell\v1.0"
    $Shortcut.Save()
    }
    else
    {}
    }
    Set-DesktopIconAndRegkeys

    Weiterlesen...
     
    #1 living_in_a_blue_world, 15. März 2018
  2. Hobi Expert
    Willkommen,

    Diese Schritte solltest du nacheinander ausführen:
Thema:

Skriptblock, den ich gerne vor andere Skripte als Funktion setzen möchte

Die Seite wird geladen...

Skriptblock, den ich gerne vor andere Skripte als Funktion setzen möchte - Ähnliche Themen - Skriptblock gerne Skripte

Forum Datum

Ich möchte gerne Minecraft zurückgeben

Ich möchte gerne Minecraft zurückgeben: Ich möchte gerne Minecraft zurückgeben, da ich mir die Deluxe Collection für PC mit Java und Bedrock gekauft habe und jetzt nur zugriff auf die Version für Windows habe.Vielen Dank im voraus Weiterlesen...

Windows 10 Support 28. Juli 2023

BSOD, die ich gerne weg haben möchte. Ha

BSOD, die ich gerne weg haben möchte. Ha: Hallo Leute,seit einiger Zeit habe ich ein altbekanntes* Problem mit wiederkehrenden Blue Screens.Vor kurzem habe ich mir eine nagelneue NVMe-SSD gekauft, die ich als System-Platte nutzen möchte. Auf dieser habe ich ein frisches Windows 10 installiert. Und dann ging es direkt schon los: nach der...

Windows 10 Support 25. Juli 2023

Hallo, Ich möchte gerne meinen Pc zurücksetzen.

Hallo, Ich möchte gerne meinen Pc zurücksetzen.: - habe allerdings kein Wiederherstellungspunkt.Habt Ihr Ideen? Weiterlesen...

Windows 10 Support 25. Februar 2023

Wir haben Probleme bei der Bearbeitung Ihrer Zahlung und möchten diese gerne beheben.

Wir haben Probleme bei der Bearbeitung Ihrer Zahlung und möchten diese gerne beheben.: Hi Community,ich versuche Guthaben auf ein Konto zu buchen und bekomme immer folgende Meldung:Kontaktieren Sie den Microsoft-Support.Wir haben Probleme bei der Bearbeitung Ihrer Zahlung und möchten diese gerne beheben. Weitere InformationenKontaktieren Sie den Microsoft-Support. Wir haben...

Windows 10 Support 22. Januar 2022

Möchte gerne Windows 10 auf meinen PC laden

Möchte gerne Windows 10 auf meinen PC laden: Möchte gerne Windows 10 auf meinen PC laden. Es funktioniert auch fast bis zum Schluss.Dann folgt die Fehlermeldung es könne nicht festgestellt werden ob ich genug Speicherplatz habe. Habe noch 800GB frei. Der Fehlercode lautet 0x800703f1. Wenn mir Jemand helfen könnte wäre ich sehr...

Windows 10 Support 23. Juli 2020

Hi, möchte meinen Läpp gerne mit meinem Handy verbinden!!

Hi, möchte meinen Läpp gerne mit meinem Handy verbinden!!: Habe Läpp DELL mit win10 & würde gerne mein Handy Samsung GT-5320 verbinden, die URL bricht beim Laden zum Handy immer ab .. Im Augenblick kann ich nur mit einer eMail Daten zu meinem Läpp schicken & das wird teuer .. Wäre cool wenn ein Technik-Fuchs mir weiter helfen könnte .. danke...

Windows 10 Mobile 15. Februar 2019

Powershell: möchte ich gerne in einem Verzeichnis Dateinamen wie folgt ändern

Powershell: möchte ich gerne in einem Verzeichnis Dateinamen wie folgt ändern: Hallo, ich beschäftige mich gerade intensiv mit der Powershell, komme aber gerade nicht weiter.. Zum Beispiel möchte ich gerne in einem Verzeichnis Dateinamen wie folgt ändern: von: <prefix>_in-bearbeitung.<suffix> in: <prefix>_Projekt_in-bearbeitung.<suffix> <prefix> und...

Windows 10 Support 15. März 2018

Ich möchte gerne die Excel Tabelle jetzt mit der Maus bedienen

Ich möchte gerne die Excel Tabelle jetzt mit der Maus bedienen: Ich möchte gerne die Exel Tabelle jetzt mit der Maus bedienen und es funktioniert nicht und ich finde die Hochzahlen in der Exel Tabelle nicht Weiterlesen...

Windows 10 Support 17. Oktober 2017

Skriptblock, den ich gerne vor andere Skripte als Funktion setzen möchte [gelöst]

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Information ausblenden