Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Executer un script dans un nouvel envrionnement

4 réponses
Avatar
dav8669
Bonjour,
Bonjour,
J'ai un premier script qui me permet de lancer powershell sous une autre idendité avec un runas.
J'ai un deuxième script que je voudrais exécuter dans l'environnement nouvellement lancé par le runas
Comment faire merci?
J'ai essayé avec cmd/c "c:scripttest.ps1" mais il ne m'excute pas le script mais ouvre un fichier texte?
Merci

4 réponses

Avatar
Gilles LAURENT [MVP]
"dav8669" a écrit dans le message de
news:
| Bonjour,

Bonjour,

| J'ai un premier script qui me permet de lancer powershell sous une
| autre idendité avec un runas.
| J'ai un deuxième script que je voudrais exécuter dans l'environnement
| nouvellement lancé par le runas
| Comment faire merci?
| J'ai essayé avec cmd/c "c:scripttest.ps1" mais il ne m'excute pas le
| script mais ouvre un fichier texte?

Par soucis de sécurité, l'extension .ps1 est associée au bloc-notes
(notepad.exe). Donc pour exécuter un script PowerShell depuis la ligne
de commandes, il est nécessaire d'invoquer de manière explicite
l'interpréteur powershell. Par exemple :

C:>powershell -noprofile "& 'd:testscripts pstest.ps1'"

Note : L'option -noprofile permet de ne pas charger le profil
utilisateur

Note : powershell /? permet d'obtenir toutes les options de démarrage

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
dav8669
Gilles LAURENT [MVP] a écrit le 13/01/2009 à 12h41 :
"dav8669" a écrit dans le
message de
news:
| Bonjour,

Bonjour,

| J'ai un premier script qui me permet de lancer powershell sous une
| autre idendité avec un runas.
| J'ai un deuxième script que je voudrais exécuter dans
l'environnement
| nouvellement lancé par le runas
| Comment faire merci?
| J'ai essayé avec cmd/c "c:scripttest.ps1" mais il ne
m'excute pas le
| script mais ouvre un fichier texte?

Par soucis de sécurité, l'extension .ps1 est associée au
bloc-notes
(notepad.exe). Donc pour exécuter un script PowerShell depuis la ligne
de commandes, il est nécessaire d'invoquer de manière explicite
l'interpréteur powershell. Par exemple :

C:>powershell -noprofile "& 'd:testscripts pstest.ps1'"

Note : L'option -noprofile permet de ne pas charger le profil
utilisateur

Note : powershell /? permet d'obtenir toutes les options de démarrage

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr


#J'arrive à lancé un script depuis exécuter avec
cmd /c powershell -noexit c:scripthello.ps1

#Mon souci est : Je lance d'abord le script ci dessous appelé search.ps1. Et je souhaite depus ce script search lancé mon script hello.ps1 en lancant un autre environnement powershell avec runas.
Comment combiner les deux? Merci

$samaccount=Read-Host "Entrer l'utilisateur sous lequel vous voulez vous connecter"
$samaccount
$searcher=[adsisearcher]"(samaccountname=$samaccount)"
$user=$searcher.findone()
if ($userResult -ne $null) {
$user=$userResult.GetDirectoryEntry()
$user.employeeID
runas /user:univ-lyon1$samaccount powershell
} else {
"Not Found !"
}
Avatar
Gilles LAURENT [MVP]
"dav8669" a écrit dans le message de
news:
| #J'arrive à lancé un script depuis exécuter avec
| cmd /c powershell -noexit c:scripthello.ps1
|
| #Mon souci est : Je lance d'abord le script ci dessous appelé
| search.ps1. Et je souhaite depus ce script search lancé mon script
| hello.ps1 en lancant un autre environnement powershell avec runas.
| Comment combiner les deux? Merci
|
| $samaccount=Read-Host "Entrer l'utilisateur sous lequel vous voulez
| vous connecter"
| $samaccount
| $searcher=[adsisearcher]"(samaccountname=$samaccount)"
| $user=$searcher.findone()
| if ($userResult -ne $null) {
| $user=$userResult.GetDirectoryEntry()
| $user.employeeID
| runas /user:univ-lyon1$samaccount powershell
| } else {
| "Not Found !"
| }

runas /user:univ-lyon1$samaccount "powershell c:scripthello.ps1"

Restriction:
Aucun espace dans le chemin du script hello.ps1
Je ne trouve pas la syntaxe adéquat pour accepter les espaces
"& 'c:scripts pshello.ps1'"

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
dav8669
Gilles LAURENT [MVP] a écrit le 13/01/2009 à 15h12 :
"dav8669" a écrit dans le
message de
news:
| #J'arrive à lancé un script depuis exécuter avec
| cmd /c powershell -noexit c:scripthello.ps1
|
| #Mon souci est : Je lance d'abord le script ci dessous appelé
| search.ps1. Et je souhaite depus ce script search lancé mon script
| hello.ps1 en lancant un autre environnement powershell avec runas.
| Comment combiner les deux? Merci
|
| $samaccount=Read-Host "Entrer l'utilisateur sous lequel vous voulez
| vous connecter"
| $samaccount
| $searcher=[adsisearcher]"(samaccountname=$samaccount)"
| $user=$searcher.findone()
| if ($userResult -ne $null) {
| $user=$userResult.GetDirectoryEntry()
| $user.employeeID
| runas /user:univ-lyon1$samaccount powershell
| } else {
| "Not Found !"
| }

runas /user:univ-lyon1$samaccount "powershell c:scripthello.ps1"

Restriction:
Aucun espace dans le chemin du script hello.ps1
Je ne trouve pas la syntaxe adéquat pour accepter les espaces
"& 'c:scripts pshello.ps1'"

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr


Ok, tout fonctionne.Merci