Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PowerShell-Script per Batch aufrufen

Mitglied: halington

halington (Level 1) - Jetzt verbinden

16.04.2018, aktualisiert 15:35 Uhr, 360 Aufrufe, 8 Kommentare

Hallo zusammen,

ich versuche ein PowerShell-Script (pstest.ps1) per Batch aufzurufen.
Im ersten Schritt versuche ich den String, der später in die Batch kommt, direkt aus PS aufzurufen.
Das funktioniert auch. Trotzdem erscheint eine Fehlermeldung. Kann mir jemand sagen wieso?

Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-Command &{$Verzeichnis=Get-Location}; &{. $Verzeichnis\pstest.ps1}"
01.
Ausgabe in der neuen PS: 
02.
C:\Users\Danny\Desktop\pstest=Get-Location : Die Benennung "C:\Users\Danny\Desktop\pstest=Get-Location" wurde nicht 
03.
als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die 
04.
Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang. 
05.
In Zeile:1 Zeichen:3 
06.
+ &{C:\Users\Danny\Desktop\pstest=Get-Location}; &{. C:\Users\Danny\D ... 
07.
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
08.
    + CategoryInfo          : ObjectNotFound: (C:\Users\Danny...st=Get-Location:String) [], CommandNotFoundException 
09.
    + FullyQualifiedErrorId : CommandNotFoundException 
10.
 
11.
Hallo dies ist ein pstest 
12.
Drücken Sie die Eingabetaste, um den Vorgang fortzusetzen...:

Damit es später egal ist wo ich den Ordner mit den Scripten liegen habe nutze ich Get-Location.

Grüße
Halington
Mitglied: AndreasHoster
16.04.2018 um 16:20 Uhr
Weil Variablen in Strings mit " aufgelöst werden.
Sagt auch die Fehlermeldung:
Die Benennung "C:\Users\Danny\Desktop\pstest=Get-Location" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt.

$Verzeichnis hat den Wert C:\Users\Danny\Desktop\pstest, damit wird
"-Command &{$Verzeichnis=Get-Location}; &{. $Verzeichnis\pstest.ps1}"
in
"-Command &{C:\Users\Danny\Desktop\pstest=Get-Location}; &{. C:\Users\Danny\Desktop\pstest\pstest.ps1}"
aufgelöst.

Einfache Hochkommas ' verwenden.
Bitte warten ..
Mitglied: 135950
LÖSUNG 16.04.2018, aktualisiert 18.04.2018
Moin.
Erstens rufst du eine Variablenzuweisung mit einem Scriptblock auf, das geht so schon mal nicht, zweitens ist das vollkommen überflüssig.
So sieht dann deine Batch aus:
01.
@echo off 
02.
Powershell -NoExit -Executionpolicy ByPass -noprofile -Command "&'%~dp0\pstest.ps1'"
Gruß m.
Bitte warten ..
Mitglied: halington
18.04.2018 um 00:59 Uhr
Hallo ihr beiden,

vielen Dank für eure Antworten.
Ich habe das jetzt fast fertig.

01.
PowerShell -NoProfile -Command Set-ExecutionPolicy -ExecutionPolicy Bypass -Force -ErrorAction SilentlyContinue -Scope Process; PowerShell -Command "&'%~dp0\pstest.ps1' -Verb runAs"
Leider funktioniert das noch nicht.

01.
PS C:\Users\Danny\Desktop\pstest> C:\Users\Danny\Desktop\pstest\location.ps1 
02.
Die Datei "C:\Users\Danny\Desktop\pstest\location.ps1" kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Weitere  
03.
Informationen finden Sie unter "about_Execution_Policies" (https:/go.microsoft.com/fwlink/?LinkID=135170). 
04.
    + CategoryInfo          : Sicherheitsfehler: (:) [], ParentContainsErrorRecordException 
05.
    + FullyQualifiedErrorId : UnauthorizedAccess
Also es soll temporär die Ausführung von Scripten erlaubt und dann das Script pstest.ps1 aufgerufen werden. Normalerweise trennt man doch PowerShell-Befehle mit einem Semikolon, oder? Könnt ihr mir vielleicht sagen weshalb das so nicht geht?
Bitte warten ..
Mitglied: 135950
18.04.2018, aktualisiert um 07:51 Uhr
Du brauchst die Executionpolicy vorher nicht setzen! Dazu genügt es sie mit -Executionpolicy ByPass direkt zu umgehen, siehe mein Code oben.
Bitte warten ..
Mitglied: halington
18.04.2018 um 11:41 Uhr
Hi marathon,

das ist ja das Problem. Wenn ich deinen Code ausführe erhalte ich exakt die selbe Fehlermeldung.
Bitte warten ..
Mitglied: 135950
18.04.2018, aktualisiert um 11:52 Uhr
Zitat von halington:

Hi marathon,

das ist ja das Problem. Wenn ich deinen Code ausführe erhalte ich exakt die selbe Fehlermeldung.
Dann führst du die Powershell nicht als Administrator aus, das ist ja sowieso Voraussetzung wenn du das Runas-Verb nutzen willst.

Und sicher klappt das!

Guckst du hier bei einer "Restricted" Shell einmal "ohne" Bypass und einmal "mit"

screenshot - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: halington
18.04.2018 um 11:59 Uhr
Nein, ich hab schlauerweise den Code in der ISE von einer .ps1 ausgeführt was ja in dem Fall logischerweise nicht funktionieren kann......
Ich hab den Code jetzt in meine eigentliche Batch gepackt und ausgeführt. Läuft. Vielen Dank für die Hilfe.
Bitte warten ..
Mitglied: 135950
18.04.2018, aktualisiert um 12:01 Uhr
Zitat von halington:

Nein, ich hab schlauerweise den Code in der ISE von einer .ps1 ausgeführt was ja in dem Fall logischerweise nicht funktionieren kann......
Jaa das war gaaanz schlau .
Ich hab den Code jetzt in meine eigentliche Batch gepackt und ausgeführt. Läuft. Vielen Dank für die Hilfe.
Naja das war ja eigentlich auch deine Intention im Titel: "PowerShell-Script per Batch aufrufen" .

Dann noch das grüne Schildchen dran gepackt und feeedich.
Bitte warten ..
Ähnliche Inhalte
Entwicklung
VBS Script in Powershell aufrufen
gelöst Frage von HanutaEntwicklung7 Kommentare

Hallo Zusammen, ich möchte einen VBS Script in Powershell aufrufenist das überhaupt möglich ? Wenn ja, wie ? VG ...

Batch & Shell
Powershell oder Batch Script
gelöst Frage von HistorikBatch & Shell13 Kommentare

Hallo zusammen, ich bin neu hier und benötige jemand der mir ein Script erstellt ,dass mir die Daten ausliest: ...

Batch & Shell

Batch lässt sich nicht aus Powershell-Script starten

gelöst Frage von complexBatch & Shell4 Kommentare

Guten Morgen Jungs! stehe vor einem kuriosen Problem und hoffe, ihr könnt mir helfen. Eins vorne Weg: Ich weiß ...

Batch & Shell

Powershell: Aufruf robocopy mit Parameter

Frage von bensonhedgesBatch & Shell1 Kommentar

Hallo, ich bin Powershell-Neuling und habe ein Problem mit der Übergabe von robocopy-Optionen in einer Variable: $Options = "/COPYALL ...

Neue Wissensbeiträge
Peripheriegeräte
Unterschrank für HP Drucker
Tipp von NixVerstehen vor 1 TagPeripheriegeräte2 Kommentare

Als kurzen Freitags-Tipp möchte ich gerne meinen neuen Drucker-Unterschrank Modell Amica KS 15423W vorstellen. Das Gerät eignet sich hervorragend ...

Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 2 TagenWindows 103 Kommentare

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 2 TagenWindows 101 Kommentar

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 4 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Heiß diskutierte Inhalte
Humor (lol)
Freitagsfrage: Was tun, wenn der Admin der DAU ist?
gelöst Frage von VoiperHumor (lol)32 Kommentare

Moin Zusammen, Eine nicht ganz ernst gemeinte Frage an die Außendienstler unter uns. Zusammenfassung: Ein Inhouse Admin ruft bei ...

Windows Netzwerk
LTE Modul - Kein Internet trotz Verbindung
Frage von killtecWindows Netzwerk19 Kommentare

Hallo, ich habe hier ein Dell 7390 2-in-1 mit W10 Pro wo ich nachträglich eine LTE-Karte (Original Dell DW5811e ...

LAN, WAN, Wireless
HP Probook 470 G4 - abbrechende Downloads
Frage von joern1LAN, WAN, Wireless19 Kommentare

Folgendes Problem, für einen Tipp wäre ich dankbar: Bei WLAN-Verbindung zum Internet (nicht LAN) kommt es bei etwas größeren ...

Router & Routing
Routing Problem mit Kaskade FritzBox und pfsense zugeriff nur von der firewall auf die clients und 0.0.0.0
Frage von ukl1967Router & Routing18 Kommentare

Hallo, ich habe ein an sich triviales Problem elches ich allerdings nicht gelöst bekomme. NAS 10.5.10.53 Mein Netz baut ...