[PHP] Windows zaken aansturen ? Services, users aanmaken

Pagina: 1
Acties:
  • 1.433 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik liep met het idee rond om te kijken of het mogelijk is om via een pagina die je in PHP bouwt Windows zaken op een Server 2003 machine aan te sturen.

Uiteraard heeft Microsoft zijn documenten hiervoor, ik ben alleen bang dat dit niet even via PHP te doen is of iets dergelijks.

Je kan SSH-en naar windows met een speciale tool, dat is te doen, ik vraag me alleen af of dit allemaal zo makkelijk aan te sturen is.

Dit is uiteraard geen script request, maar een brainfart welke ik even in dit forum wil delen omdat de vraag is...

Te doen of niet ?

Ik zou denken aan:

- Users aanmaken
- Exchange mailboxen aanmaken
- Sharepoint iets leuks mee doen
- enz enz.

Het gaat me er dus niet om in dit topic te vragen; he hoe doe ik dat, leg me dat eens even uit op de komma in de code precies, de vraag is wat een globale methode zou kunnen zijn en waar vooral niet aan te denken.

Zal ik een speciale taal moeten gebruiken, commando's ? Op linux geboed kun je veel met PHP, MySQL en Bash. Uiteindelijk is onder Linux dan de koppeling naar Bash de sleutel om wat uit te voeren en iets klaar te spelen... de info van wat je wil doen haal je uit de DB natuurlijk.

Dus de vraag zou kunnen zijn...

Windows aansturen via PHP:

PHP ==> ????

Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 18-09 12:47

killercow

eth0

kun je niet beter asp pakken en dan gewoon de vb applicatie haakjes gebruiken?

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Je zou kunnen kijken naar specifieke windows functies zoals win32ps voor (static) info opvragen, win32service voor service control en je kan uiteraard ook gewoon aan de slag gaan met exec :)

Acties:
  • 0 Henk 'm!

  • Defector
  • Registratie: December 2005
  • Niet online
je kunt met php programma's starten en daar kun je ook argumenten aan meegeven dus dat is wel te doen denk ik maar ik denk dat je met asp een stuk verder komt omdat dat soort van de zelfde familie is allebei microsoft. maar bij die laatste uitspraak ben ik niet gehinderd door kennis van zaken.

[ Voor 14% gewijzigd door Defector op 14-09-2007 16:10 ]


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Defector schreef op vrijdag 14 september 2007 @ 16:09:
je kunt met php programma's starten en daar kun je ook argumenten aan meegeven dus dat is wel te doen denk ik maar ik denk dat je met asp een stuk verder komt omdat dat soort van de zelfde familie is allebei microsoft. maar bij die laatste uitspraak ben ik niet gehinderd door kennis van zaken.
Ik heb te lang niet met Windows gewerkt om dit te weten, maar zolang je in de shell alles kan uitvoeren wat TS wil, zou je dit ook met php kunnen bewerkstelligen, mits er geen conflicten in rechten ontstaat.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik denk dat iedereen die hier reageert opzich wel een goede toevoeging aan geeft.

Ik zou bijvoorbeeld kunnen denken aan een applicatie op Windows welke alles aanstuurt en waar PHP mee communiceert via een API of iets dergelijks ?

Je zal een koppeling moeten creëren waar PHP tegen aan kan praten zodat er in windows dingen gaan werken.

APS is niet mijn ding, ik kan het proberen natuurlijk !!

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 17:05

orf

Ook met COM kun je sommige dingen doen.

Acties:
  • 0 Henk 'm!

  • Defector
  • Registratie: December 2005
  • Niet online
wat je zegt is heel goed te doen. Als je c# of whatever een mooie applicatie maakt die precies doet wat jij wilt.En daarbei een mooie koppeling maakt zodat je de applicatie kunt starten stoppen en opdrachten geven met php ben je klaar :)

Waarschijnelijk gaat dit ook beter werken in verband met rechten aangezien de applicatie dan lokaal draait.

Acties:
  • 0 Henk 'm!

  • Flard
  • Registratie: Februari 2001
  • Laatst online: 18-09 22:09
Als je kijkt naar een (web)hosting panel als Plesk, zie je dat ze dat ook in php hebben gemaakt, maar deze verschillende executables aanroept om de verschillende windows onderdelen te configureren. (sites aanmaken, users aanmaken e.d.).

COM of services gaan misschien ook wel, maar zijn wat moeilijker te deployen, en executables zijn daarentegen lekker modulair: maak gewoon een programma 'createuser.exe', 'createexchangebox.exe' e.d., precies zoals je nodig hebt, en zet die in een bepaalde map. Je kunt zo gemakkelijk nieuwe dingen toevoegen.

Welke oplossing je overigens kiest, kijk wel goed naar je beveiliging: je maakt zo snel grote veiligheidsgaten.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Defector schreef op vrijdag 14 september 2007 @ 16:18:
wat je zegt is heel goed te doen. Als je c# of whatever een mooie applicatie maakt die precies doet wat jij wilt.En daarbei een mooie koppeling maakt zodat je de applicatie kunt starten stoppen en opdrachten geven met php ben je klaar :)

Waarschijnelijk gaat dit ook beter werken in verband met rechten aangezien de applicatie dan lokaal draait.
Hier ben ik het zeker mee eens, ook met Flar trouwens.

Ik zal wat talen bij moeten gaan leren denk ik, wellicht dat er al tools zijn waarmee je dingen kan aansturen via een API en ook nog OpenSource, dan kan ik er eens in duiken en me verdiepen wat me past.

op Linux gebied is dit namelijk helemaal niet moeilijk, simpel eigenlijk... Windows is een ander verhaal denk ik.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op vrijdag 14 september 2007 @ 19:31:
op Linux gebied is dit namelijk helemaal niet moeilijk, simpel eigenlijk... Windows is een ander verhaal denk ik.
IMHO helemaal niet; windows API's zijn super gedocumenteerd en of je nou via COM interop gaat of via andere wegen: het is in principe peanuts als je weet wat je wil bereiken en waar je in de API's moet graven ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op vrijdag 14 september 2007 @ 19:59:
[...]

IMHO helemaal niet; windows API's zijn super gedocumenteerd en of je nou via COM interop gaat of via andere wegen: het is in principe peanuts als je weet wat je wil bereiken en waar je in de API's moet graven ;)
API's zijn super ja, be ik bekend mee :)

Mocht je wat additionele info hebben is het altijd welkom natuurlijk, ik ben al een eind op weg nu :)

Laat het nu zijn dat ik het vanaf een externe machine wil doen, dit ben ik dus WEL vergeten te vermelden.

Ik zit me dus te bedenken of ik iets laat inloggen op die machine of een tool moet maken, zoeken welke luistert.

Ik zou een tool kunnen maken die luistert en waar ik alleen naat toe hoef te zenden wel command met welke variabelen wil sturen.

Bijvoorbeeld:

format a: /s

Hier zo zijn:

-command: "format"

- variabele 1: a:

- variabele 2: /s

Soor van veredelde bashscripting op windows.

Nu moet er alleen iets luisteren (met verificatie) of ik moet inloggen met een user.

[ Voor 38% gewijzigd door Verwijderd op 14-09-2007 20:34 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Lees je eens in in (bijv) RPC ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
ADSI lijkt me ook wel wat.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik kwam om het idee om CygWin met Powershell te combineren.

Ik zou dan in principe via CygWin naar die Windows machine kunnen SSH-en en dan via PowerShell commando's uit kunnen voeren.

Gek idee ?

Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 08:50
Als je nou .Net webservices maakt die bepaalde zaken gaan regelen op de server, dan hoef je je Windows installatie ook niet te vervuilen met PHP, en kan je bovendien alles remote doen :-)

Verder kan je uiteraard gewoon exec's uitvoeren; Windows Server heeft nog veel meer mogelijkheden vanaf de command line dan er zichtbaar zijn in de GUI's, en ik vermoed dat 95% van je wensen op die manier ook te regelen zijn.

Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 09:34
Jup. Gebruik PsTools en exec :)

* FragFrog gebruikt het om vanaf z'n webserver de winamp op z'n workstations te bedienen, icm clamp.

Erg grappig om vanaf je luie bank met een ipod touch je muziek te bedienen op die manier :+

[ Voor 34% gewijzigd door FragFrog op 02-02-2008 01:11 ]

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Maar om exec te gebruiken in PHP moet ik toch eerst die bak benaderen.

Hoe zou jij dat dan doen ?

Linux is simpel... SSH.

[ Voor 11% gewijzigd door Verwijderd op 02-02-2008 01:30 ]


Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 09:34
Verwijderd schreef op zaterdag 02 februari 2008 @ 01:29:
Maar om exec te gebruiken in PHP moet ik toch eerst die bak benaderen.

Hoe zou jij dat dan doen ?

Linux is simpel... SSH.
Anders lees je even de link ;)

Met pstools kun je al remote commando's uitvoeren op andere windows machines. Ergo, exec van PHP gebruik je om pstools aan te sturen op de lokale server en die kan vervolgens de remote machine weer aansturen. Het mooie is, op de remote bak hoeft geen pstools te staan, en je kan simpelweg een user/pass combo meegeven zodat, als je in een domein zit, je in theorie ermee heel simpel beheertools kan schrijven die vanaf een centrale server alle workstations in je domein kunnen bedienen.

Zelf heb ik ook eens met het idee lopen spelen om op die manier een beheer webapplicatie te maken waarmee ik machines kan aanzetten, rebooten, users kan uitloggen, programma's kan opstarten / afsluiten, etc etc. Het is allemaal heel goed mogelijk en gaaf, heb er alleen geen nut voor :+

Windows is simpel... Pstools.

[ Voor 37% gewijzigd door FragFrog op 02-02-2008 01:41 ]

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
FragFrog schreef op zaterdag 02 februari 2008 @ 01:36:
[...]

Anders lees je even de link ;)
Had ik al gedaan hoor.
Met pstools kun je al remote commando's uitvoeren op andere windows machines. Ergo, exec van PHP gebruik je om pstools aan te sturen op de lokale server en die kan vervolgens de remote machine weer aansturen. Het mooie is, op de remote bak hoeft geen pstools te staan, en je kan simpelweg een user/pass combo meegeven zodat, als je in een domein zit, je in theorie ermee heel simpel beheertools kan schrijven die vanaf een centrale server alle workstations in je domein kunnen bedienen.
Een exec met PHP op een Linux bak executen ??? :?
Zelf heb ik ook eens met het idee lopen spelen om op die manier een beheer webapplicatie te maken waarmee ik machines kan aanzetten, rebooten, users kan uitloggen, programma's kan opstarten / afsluiten, etc etc. Het is allemaal heel goed mogelijk en gaaf, heb er alleen geen nut voor :+
Dat zijn inderdaad de leuke dingen.
Windows is simpel... Pstools.
Windows is niet simpel, linux is simpel :9

Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 09:34
Verwijderd schreef op zaterdag 02 februari 2008 @ 11:56:
Een exec met PHP op een Linux bak executen ??? :?
Ik liep met het idee rond om te kijken of het mogelijk is om via een pagina die je in PHP bouwt Windows zaken op een Server 2003 machine aan te sturen.
Je had het over een windows 2003 server ;) PsTools zijn uiteraard voor windows, waarom zou je een linux bak gebruiken om een windows server aan te sturen? :?

Overigens zijn er ook wel genoeg SSH servers voor windows, maar die aansturen met een PHP scriptje gaat een heel stuk lastiger worden dan simpelweg commando's doorpijpen naar pstools. Maargoed, als je het jezelf toch moeilijk wilt maken door linux te gebruiken... :P

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja ik wil het graag vanaf een Linux machine doen, ik wil er namelijk niet één lokaal aan kunnen sturen, maar meerdere.

Dus doorpijpen naar PStools gaat toch een probleem worden denk ik.

Ik moet via SSH de commandline van Windows aan zien te sturen.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Maar dat kan toch ook met Cygwin? Dan gebruik je SSH om te connecten naar Cygwin en vanuit die verbinding kun je dan commands uitvoeren op de remote machine.. toch?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Cartman! schreef op vrijdag 08 februari 2008 @ 17:02:
Maar dat kan toch ook met Cygwin? Dan gebruik je SSH om te connecten naar Cygwin en vanuit die verbinding kun je dan commands uitvoeren op de remote machine.. toch?
Ja dat dacht ik ook, maar de vraag is of je op die manier ook je PS-commands op de PS-commandline uit kunt voeren.

Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 09:34
Verwijderd schreef op vrijdag 08 februari 2008 @ 16:45:
Ja ik wil het graag vanaf een Linux machine doen, ik wil er namelijk niet één lokaal aan kunnen sturen, maar meerdere.
Hoezo is dat een reden om een linux machine te gebruiken? Vanaf een windows server kun je ook prima zoveel windows bakken aansturen als je wilt, wederom, zie de manual van pstools :)

Probleem waar je tegenaan loopt is dat het hele authenticatie gebeuren tussen windows bakken onderling prima geregeld is maar niet vanaf andere platformen per se. Zeker als je dan domeintaken uit wilt voeren blijf ik erbij dat je het jezelf nodeloos moeilijk maakt door vast te houden aan die linux server.

Maargoed, wellicht is deze link handig voor je :)

[ Voor 19% gewijzigd door FragFrog op 08-02-2008 17:41 ]

[ Site ] [ twitch ] [ jijbuis ]

Pagina: 1