Login: ( registrieren / neues Passwort )
  Cookies müssen aktiviert sein!

Navigation
Main-Content
» News-Center
» Hacking-Zone
» Forum
» IT-Quiz
» IRC-Webchat

Features / Downloads
» Krypto-Lab
» Digital-Library
» Anonymous?
» HS-Decoder
» Linkliste
» Download-Center
» HackTV-Center

Community-Infos
» Hall of Fame
» Hall of Lame
» Mitglieder
» Skill-Suche

About HS
» Happy-Shop
» Infos & Hilfe
» Partner-Seiten
» HS unterstützen!
» Gästebuch (add)
» Statistiken

1. Begriff markieren
2. Button anklicken
Statistik
Online : (19 User)
IRC Nimda
sowie 18 Gäste

IRC-Chat : (19 User)

Voting
Welcher Bereich soll beim Relaunch verbessert werden?
Forum
Hacking-Zone
Digital-Library
IT-Quiz
HS-Decoder
Anonymous
Profiles
HackTV-Center
Download-Center
Was für ein Relaunch? Oo
 
   Umfrage-Seite

Partner-Seiten

Partner werden

INDEX » Microsoft Windows » Windows PowerShell: Builtin Pause-Funktion?    Seite: 1
Mit dem Betreten dieses Forum, werden alle Boardregeln ausnahmslos anerkannt. Es dürfen weder komplette Lösungswege noch Teile von Passwörtern zur Hacking-Zone hier getauscht werden. Auch sind alle illegalen Themen streng verboten. Bitte zu erst versuchen selbst eine Lösung zu finden und die Suchfunktion zu benutzen. Beiträge der letzten 24 Stunden
Alle ungelesenen Beiträge anzeigen
Alle Beiträge als gelesen markieren
Alle Beiträge als ungelesen markieren
 

 Author  Thema: Windows PowerShell: Builtin Pause-Funktion? 
30.03.2009 11:11
Charly

Postings: 353
Hackits: 114 von 183

Hallo,

ich mache momentan meine ersten Gehversuche mit der
Windows Power Shell auf XP und Vista.
Nachdem ich .Net-Framework laut Microsoft Knowledge Base
in einer sinnvollen Reihenfolge übereinander installiert hatte,
konnte ich mir die PowerShell bei XP über Microsoft Update
"Software Optional" saugen, sie funktioniert auch soweit.
Anschließend habe ich die Dateinamenserweiterung
.ps1
manuell der PowerShell zugewiesen.
Weiterhin habe ich die Execution Policy auf "Remote signed" umgestellt.
Ich kann jetzt Scripts aus der Powershell heraus aufrufen.
Wenn ich aber ein Script mit Doppelklick anklicke,
schließt es sich immer sofort. Die "Lösungen" zum Offenhalten des Scripts,
die ich mit Google gefunden habe, funktionieren ironischerweise genau bei diesem Problem nicht, sondern nur, wenn das Script aus der Powershell heraus aufgerufen wird.
Sample für so eine Ironie-Lösung:

test.ps1

echo "Hallo Welt!";
read-host 'Press any key to continue!';


Gibt es wirklich keine vergleichbare builtin-Funktion der Powershell, die wie
"pause" von cmd.exe wirkt?
Gruß
Charly


Hallo Welt!
  Quote | Edit | Delete | Alert!!!  #001
30.03.2009 15:04
Vellas
*Moderator*

Postings: 1062
Hackits: 157 von 183

Das ist auch gut so, dass sie standardmäßig geschlossen wird.
Eine google-Anfrage hat mir verraten, dass man die PowerShell wie folgt aufrufen kann, damit sie offen bleibt (habs nicht getestet):
powershell.exe -noexit script.ps1

Greetz

  Quote | Edit | Delete | Alert!!!  #002
31.03.2009 08:44
Charly

Postings: 353
Hackits: 114 von 183

Hallo,
ich habe mich dann doch entschlossen,
die alte Shell zu benutzen.

runps.bat
@echo off
set/p mypowershellscript="Scriptname eingeben!"
powershell.exe ./%mypowershellscript%
pause

Ich denke trotzdem, dass das ein fehlendes Feature ist, zumal die Powershell ja cmd.exe ablösen soll.
Falls ich das Feature doch übersehen habe, bitte posten.
Danke schonmal für den Tip mit dem Switch aus der Powershell.
Gruß
Charly


Hallo Welt!

Dieser Beitrag wurde am 31.03.2009 - 08:45 von Charly editiert.
  Quote | Edit | Delete | Alert!!!  #003
31.03.2009 12:46
Vellas
*Moderator*

Postings: 1062
Hackits: 157 von 183

Du hast es nicht übersehen. Ich sehe das allerdings nicht als fehlendes Feature, sondern fast schon als Notwendigkeit es über einen Schalter zu lösen, allein weil ständig Leute meinen sie müssen ein PAUSE ans Ende ihres Quellcodes schreiben, weil sie mit ihrer IDE nicht umgehen können (in VS brauchte ich das noch nie um die Shell anschließend offen zu halten) oder nicht wissen wie man Breakpoints einsetzt.
Die meisten dieser Skripte werden wohl eh per Scheduler (habe die hier und beim Kunden nur so laufen, ansonsten muss ich eh in der Shell arbeiten) oder so gestartet und sollen nicht ständig ne Shell offen halten. Wichtige Ausgaben gehören eh in eine Datei. Und da es diesen Schalter gibt ist es kein fehlendes Feature, aber es wird direkt die Shell entsprechend gestartet und nicht mehr der Anwendung überlassen. Ich finde die Verlagerung dieses "Features" vollkommen richtig. Und da du bei der Dateitypenzuordnung festlegen kannst wie die PowerShell gestartet werden soll, sehe ich da kein Problem drin.

// Edit:
Wer dennoch unbedingt ein Pause braucht in seinem Skript:

Source-Code:

function Pause ($Message="Press any key to continue...")
{
  Write-Host -NoNewLine $Message
  $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
  Write-Host ""
}


Quelle: Windows PowerShell Blog - Pause

Greetz


Dieser Beitrag wurde am 10.06.2009 - 14:23 von Vellas editiert.
  Quote | Edit | Delete | Alert!!!  #004
 INDEX » Microsoft Windows » Seite: 1

    ! GESPERRT !  


  

Need help? visit the IRC-Chat or Message-Board
© 2004 - 2020 happy-soft
"ln -s /dev/null bermuda_triangle"