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, 889 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
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

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 ...

Batch & Shell

Script in Powershell

gelöst Frage von EverestBatch & Shell27 Kommentare

Hallo PS-Scriptler, hat jemand von euch ein Script, der bestimmte User (z.B. administrator) in der Domain ausließt, welcher angibt ...

Windows Server

PowerShell script Hilfestellung

Frage von ollip2016Windows Server2 Kommentare

Guten Tag Administrator-User, ich bin auf der Suche nach Hilfestellung für eine Powershell Skript, hier mal kurz eine Beschreibung, ...

Neue Wissensbeiträge
Windows 10

Windows 10 kann XPS erzeugen aber nicht anzeigen ????

Erfahrungsbericht von Deepsys vor 1 TagWindows 101 Kommentar

Heute schickt mir ein Kollegen eine E-Mail mit einer XPS-Datei vom Kunden im Anhang und fragt wie er diese ...

Exchange Server

1und1 IONOS: Probleme beim Mailversand mit Exchange

Information von reksierp vor 1 TagExchange Server3 Kommentare

Hallo, seit Do, 17.1.19 etwa Mittags nimmt 1und1 IONOS keine Mails mehr über den Standard-Port SMTP 25 an. Nachdem ...

LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 2 TagenLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 3 TagenWindows Mobile1 Kommentar

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Wo lässt sich das Gateway in der FRITZ!Box 7360 einstellen?
gelöst Frage von OssabowLAN, WAN, Wireless18 Kommentare

Hallo all, nach gründlicher Suche scheine ich der einzige zu sein der das Problem hat (macht micht schon mal ...

Windows Server
MSSQL Backup in Form von .sql einspielen
Frage von janosch12Windows Server15 Kommentare

Guten Morgen, wir verwenden das Tool SQLandFTPBackup ( ) zum sichern einiger MSSQL Datenbanken. Nun sichert das Toll die ...

Windows Server
Sicherung Domain Controller
gelöst Frage von Monto1Windows Server15 Kommentare

Hallo zusammen, wie sichert Ihr den Domain Controller? Selbst, wenn zwei parallel laufen, ist eine Sicherung doch mal nützlich. ...

Microsoft Office
Office 2016 oder Office 2019
Frage von PeterzMicrosoft Office13 Kommentare

Hallo zusammen, wir müssen unser Office von 2010 auf eine neuere Version Umstellen. Jetzt stellt sich die Frage, ob ...