Question Powershell et la session 0

Plus d'informations
il y a 14 ans 10 mois #9497 par SUSINI Vincent
Bonjour,

Depuis quelques jours je rencontre d'importants problèmes liés au lancement de script powershell via un service.

Je ne peux pas utiliser l'utilisateur System (et la case à coche magique qui permet d'utiliser le bureau windows) et suis obliger de me servir d'utilisateurs de l'Active Directory.

J'ai eu de curieuses expériences avec des scripts qui fonctionnaient très bien lancé à la main, et qui ne fonctionnaient plus du tout (arrêt du script, pas de code retour) une fois lancée par le service (service démarré par le même utilisateur bien entendu).


En cherchant un peu j'ai remarquer qu'une partie du problème se situait dans ma fonction de décompression et plus précisément sur la méthode [code:1]shell.application.copyhere()[/code:1]

J'ai donc utilisé un logiciel tiers pour ne pas être bloqué, mais je suis cette fois stoppé lorsque j'essaye d'exécuter une requête oracle.
[code:1]
$private:f_tmp = [System.Reflection.Assembly]::LoadWithPartialName(\"System.Data.OracleClient\"«»)
$private:f_connectionString = \"Data Source=$f_instance;User Id=$f_user;Password=$f_pwd;Integrated Security=no\"
$private:f_connection = New-Object System.Data.OracleClient.OracleConnection($f_connectionString)
$private:f_command = new-Object System.Data.OracleClient.OracleCommand($f_Requete, $f_connection)

trap [System.Data.OracleClient.OracleException] { 'erreur de connection a la base'; continue}
$private:f_connection.Open()
[/code:1]

Précisément au moment ou j'utilise la méthode open.



Tout cela se passe sur un serveur W2k8 et j'ai découvert que les services lançaient leur scripts/opérations sous une session spéciale appelée session 0.
Je pensais que mon problème venait de là, la méthode copyhere fais appel a des interfaces graphiques, mais la méthode System.Data.OracleClient.OracleConnection.open() n'en utilise pas, je ne comprends donc pas pourquoi elle est bloquée.

Avez-vous déjà été confronté au même problème ? Comment l'avez vous résolu ?
Auriez-vous une solution dans mon cas ?

Merci pour votre aide ;)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 10 mois #9503 par Matthew BETTON
Bonsoir,

La session 0 est la session réservée au mode console (soit physiquement sur le serveur, soit via le client TSE, en l'ayant exécuté avec le paramètre -console ou /admin, pour la dernière version du client).

Sur un serveur Windows, il est possible d'ouvrir jusqu'à 3 sessions RDP dont l'une correspond à la console : c'est la session 0 (si une personne se connecte en RDP au serveur, en session console / admin, la session est verrouillée sur l'écran physique du serveur).

Depuis 2008 ou 2008 R2, le nombre de sessions RDP est limité à 2 et il n'y a plus de notion de session RDP dite \"console\".

Je pense que ton programme a besoin d'être exécuté en mode console : il faut voir avec l'éditeur si ce n'est pas par hasard un pré requis... et si il peut réellement fonctionner en mode RDP.

En espérant t'avoir aidé

@ +

Matthew

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 10 mois #9509 par SUSINI Vincent
Merci pour le coup de main.

J'ai peur qu'il s'agisse en fait d'un problème de droits liés a l'UAC.
La demande étant urgente je modifie actuellement le fonctionnement pour passer par une tâche planifiée lancée sous système.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 10 mois #9510 par Matthew BETTON

Merci pour le coup de main.


You are welcome ;)

J'ai peur qu'il s'agisse en fait d'un problème de droits liés a l'UAC.


Ca peut en effet causer de problèmes...

La demande étant urgente je modifie actuellement le fonctionnement pour passer par une tâche planifiée lancée sous système.


Il n'y a pas de mal à passer par une tâche planifiée pour exécuter un script PowerShell... C'est une solution parmi d'autres. Le planificateur de tâche fonctionne via un service qui permet les interactions avec le bureau ainsi que le démarrage en tant que \"NT AUTHORITY\SYSTEM\".

Peux tu nous dire quel service tu tentais d'utiliser au départ ? Un service développé \"maison\" ?

@ +

Matthew

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.079 secondes
Propulsé par Kunena