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

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

kann kein Kennwort setzen

kann kein Kennwort setzen: Hallo, ich will eine Kennwort zu meinem Admin Account setzen aber das Feld ist nicht aktiv. Wie kann ich ein Kennwort zu meinem Admit Acocunt setzen? lusrmgr.msc geht nicht. Danke Gruss Weiterlesen...

Windows 10 Support 27. April 2018

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

Skript in PowerShell zu erstellen, welches ähnlich wie Windows-System "Eingabeaufforderung" funktion

Skript in PowerShell zu erstellen, welches ähnlich wie Windows-System "Eingabeaufforderung" funktion: Hallo Community! Wer kann mir bitte helfen ein Skript in PowerShell zu erstellen, welches ähnlich wie Windows-System "Eingabeaufforderung" funktioniert. Folgende Aufgabe habe ich bisher mit der cmd-Eingabeaufforderung (im Ordner "Eingabeaufforderung hier öffnen")erledigen können: Rename *.*...

Windows 10 Support 28. Oktober 2017

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

Auf meinem Rechner ist die CLASSIK EXPLORER VERSION gespeichert. Ich möchte gerne Windows...

Auf meinem Rechner ist die CLASSIK EXPLORER VERSION gespeichert. Ich möchte gerne Windows...: Hallo, auf meinem Rechner ist die CLASSIC EXPLORER Einstellung gespeichert wie entferne ich diese Version ohne mir Windows 10 zu zerschießen.Ich möchte Windows als Kachelversion nutzen! Danke Weiterlesen...

Windows 10 Support 1. Januar 2017

Lumia 1020 möchte gerne Windows 10 herunterladen

Lumia 1020 möchte gerne Windows 10 herunterladen: Habe ein Nokia Lumia 1020 möchte gerne Windos 10 herunterladen und falls es noch nicht geht reservieren wie geht das? Weiterlesen...

Windows 10 Mobile 8. Oktober 2015

Nokia Lumia 1020 möchte gerne Windos 10 herunterladen

Nokia Lumia 1020 möchte gerne Windos 10 herunterladen: Habe ein Nokia Lumia 1020 möchte gerne Windos 10 herunterladen und falls es noch nicht geht reservieren wie geht das? Weiterlesen...

Windows 10 Support 8. Oktober 2015

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