Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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 Skripte über URL für andere Benutzer zugänglich machen

Frage Microsoft Windows Tools

Mitglied: stefan2012

stefan2012 (Level 1) - Jetzt verbinden

2013/11/06, aktualisiert 2014/01/08, 2832 Aufrufe, 10 Kommentare, 3 Danke

Hallo zusammen,
ich hofe ich habe diese Frage hier richtig plaziert.

Ich hab einige Powershell Skripte gebaut. Nun möchte ich diese anderen aus meinem Team zur Verfügung stellen. Ich dachte mir, es wäre mögllich ein Skript über eine einen Webserver für die Auführung bereit zu stellen.

Ich stelle mir das so vor. Jemand ruft eine Webseite auf (http:\\skriptserver\skript1) und dann fängt das Skript an zu laufen.

Das ist zum Beispiel ein Skript was auf allen DC und Linux DNS Servern den DNS Cache sofort löscht.

Das Ziel soll sein, das neimand groß Powershell lernen muss, sondern nur, wenn er die entsprechenden Rechte hat einen kurzen Link aufruft und dann alles von alleine losläuft.
Mitglied: 106543
2013/11/06 um 08:37 Uhr
Wenn das so ist, richte doch eine Freigabe ein, in der die Skripte liegen und gib den Usern eine Verknüpfung zu diesen Scripten.

Grüße
Exze
Bitte warten ..
Mitglied: colinardo
2013/11/06, aktualisiert um 11:29 Uhr
Hallo stefan2012,
das könnte man z.B. mit einem PHP-Script so realisieren:
01.
if (isset($_GET['action']) && $_GET['action'] !== ""){ 
02.
	$action = $_GET['action']; 
03.
	switch ($action){ 
04.
		case 'deleteCache'
05.
			exec('powershell -NonInteractive -File "C:\Scripte\deleteCache.ps1"'); 
06.
			echo "Script '$action' wurde ausgeführt!"
07.
			break
08.
		case 'changeSetting1'
09.
			exec('powershell -NonInteractive -File "C:\Scripte\changeSetting1.ps1"'); 
10.
			echo "Script '$action' wurde ausgeführt!"
11.
			break
12.
13.
}
Dann ruft man z.B. eine Seite folgendermaßen auf um ein bestimmtes Script auszuführen:
http://scriptserver/scripts.php?action=deleteCache
man ändert dann einfach den 'action' Parameter für unterschiedliche Scripte. Und setzt im Script im Gegenzug für diese Action einen entsprechenden Powershell-Aufruf.
Aber bitte entsprechende Sicherheitsvorkehrungen für diese Seiten vornehmen, so dass sie nicht jeder aufrufen kann bzw. nur die autorisierten Personen!

Grüße Uwe
Bitte warten ..
Mitglied: stefan2012
2013/11/06 um 10:20 Uhr
Hallo colinardo,

die Idee hört sich am besten an. Bin kein PHP Crack, dazu brauch ich auf der Windows Maschine eine Möglichkeit PHP zu nutzen. Also Apache for Windows installieren oder kann ich das über den IIS machen?
Bitte warten ..
Mitglied: colinardo
2013/11/06, aktualisiert um 13:26 Uhr
Das selbe Script lässt sich auch in ASP.Net-Seite umsetzen dann brauchst du keinen Apache und PHP

Beispiel
01.
Imports System.Diagnostics 
02.
Partial Class _Default 
03.
    Inherits System.Web.UI.Page 
04.
 
05.
    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
06.
        If Request.QueryString("action") <> "" Then 
07.
            Dim action As String = Request.QueryString("action") 
08.
            Select Case action 
09.
                Case "deleteCache" 
10.
                    Dim newproc As Process 
11.
                    newproc = Process.Start("powershell.exe", "-NonInteractive -File ""C:\Scripte\deleteCache.ps1""") 
12.
                    newproc.WaitForExit() 
13.
                    Response.Write("Script '" & action & "' wurde ausgeführt") 
14.
            End Select 
15.
        End If 
16.
    End Sub 
17.
End Class
Grüße Uwe
Bitte warten ..
Mitglied: stefan2012
2013/11/20 um 10:43 Uhr
wenn auch etwas spät, aber erstmal besten Dank. Durch Grippe bin ich jetzt noch nicht zum testen gekommen.
Aber das werde ich jetzt nachhohlen.

Besten Dank...ich melde mich... und schliesse dann auch den Post.
Bitte warten ..
Mitglied: stefan2012
2014/01/07 um 14:02 Uhr
Hallo Uwe,

jetzt muss ich mich outen. Ich bin auch kein ASP. Experte.
Hab nen Windows 2008R2 Server mit einem IIS laufen. Hab ASP.NET 4.0 freigeschaltet und läuft.
Hab auch erfolgreich eine Seite mit anzeiget. Leider kann ich mit deinem Code Fetzen nicht so viel anfangen.

Wie baue ich das jetzt genau ein?

DANKE im voraus .-)
Bitte warten ..
Mitglied: colinardo
LÖSUNG 2014/01/07, aktualisiert 2014/01/08
Zitat von stefan2012:
Hab auch erfolgreich eine Seite mit anzeiget. Leider kann ich mit deinem Code Fetzen nicht so viel anfangen.
Das ist ein Fetzen aus Visual Studio
Wie baue ich das jetzt genau ein?
Also wenn deine Seite Default.aspx heißt erstellst du eine weitere Datei im gleichen Verzeichnis mit dem Namen Default.aspx.vb (Dies ist dann das CodeBehind-File mit der Programm-Logik) und kopierst den obigen Code dort hinein.
Dann musst du noch folgende Zeile im Kopf deiner Default.aspx einfügen
01.
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
Aufrufen kannst du das ganze dann wieder so:
http://scriptserver/Default.aspx?action=deleteCache
Grüße Uwe
Bitte warten ..
Mitglied: stefan2012
2014/01/08 um 09:44 Uhr
danke, ich glaube ich stelle mich grade etwas ungeschickt an *lol

Noch bin ich dem ganzen nicht auf der Spur und es läuft noch nicht. Es kommt ein HTTP 404 Requestet URL: Default.aspx

- Also, ich erstelle zum testen eine leere Default.aspx Seite die ausser einer Überschrift nichts anzeiget!
- dann habe ich dein obrigen ASP.NET Code in die Default.aspx.vb gelegt und gespeichert
- dann in die erste Zeile der Default.aspx Seite "<%@ Page Language="..." gepackt
- in dem Code einen simplen PS Shell eingefügt. (get-process)

dann über den Browser über "http://scriptserver/Default.aspx?action=deleteCache" ausgeführt. Also der Action Flag hab ich nicht geändert, dewegen ist der Name noch gleich

Un dann kommt .... Server Error in `/`Application
Es kommt ein HTTP 404 Requestet URL: Default.aspx

Die PowerShell Datei liegt im TEMP Ordner und ist im auch angepasst mit Pfad.

Danke im voraus!
Bitte warten ..
Mitglied: colinardo
2014/01/08, aktualisiert um 10:39 Uhr
Hier das ganze mal in einem Video zusammengefasst, bevor ich mich hier fusselich rede
Bitte warten ..
Mitglied: stefan2012
2014/01/08 um 13:12 Uhr
hey, super, das mit dem Video ist ganz klar TOP!
Aber ich hab doch alles richtig gemacht.

Der Fehler war einfach, das ich einen Unterordner angelegt habe mit dem bereits richtigen skript. Aber in der URL hab ich den vergessen und den Standardpfad verwendet.

Hier lag eine kaputt getestete default.aspx ...


D A N K E!
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Powershell Skript als geplanter Task (9)

Frage von Ex0r2k16 zum Thema Windows Server ...

Batch & Shell
gelöst Powershell CHAT Skript (5)

Frage von xpxy15 zum Thema Batch & Shell ...

Batch & Shell
gelöst Snapshot mit Powershell-Skript (3)

Frage von Holywarrior1 zum Thema Batch & Shell ...

Microsoft
gelöst Sysprep: Sofortiges Ausführen des Powershell-Skriptes (1)

Frage von honeybee zum Thema Microsoft ...

Neue Wissensbeiträge
Windows 10

Heise Newsticker: Microsoft veröffentlicht das "Fall Creators Update

(8)

Information von Penny.Cilin zum Thema Windows 10 ...

LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...

Hosting & Housing
Mailserver Software Empfehlungen (12)

Frage von sunics zum Thema Hosting & Housing ...