Question
Recupere la version de powershell a distance
- Demagalhaes
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 11 ans 6 mois #18099
par Demagalhaes
Recupere la version de powershell a distance a été créé par Demagalhaes
Bonjour à tous,
Relativement débutant en Powershell, je m'adresse à vous pour résoudre un problème.
J'aimerais déployer Powershell sur l'ensemble du parc de mon entreprise mais celui-ci est très hétéroclite (WS 2000, 2003 et 2008). C'est pourquoi j'aimerais faire un état des lieux préalable afin de voir quelle version est installée, si jamais elle est installée.
Evidemment, il y a la commande \"get-host\" que je pourrais envoyer via \"invoke-command\" mais cela implique que Powershell soit installé et que le PS-remoting soit enable.
Je pensais donc passer par un \"Get-wmiobject\" mais je ne trouve pas la commande adéquate afin de récupérer cette version de PS.
Auriez-vous une idée ?
Merci d'avance pour votre aide
Relativement débutant en Powershell, je m'adresse à vous pour résoudre un problème.
J'aimerais déployer Powershell sur l'ensemble du parc de mon entreprise mais celui-ci est très hétéroclite (WS 2000, 2003 et 2008). C'est pourquoi j'aimerais faire un état des lieux préalable afin de voir quelle version est installée, si jamais elle est installée.
Evidemment, il y a la commande \"get-host\" que je pourrais envoyer via \"invoke-command\" mais cela implique que Powershell soit installé et que le PS-remoting soit enable.
Je pensais donc passer par un \"Get-wmiobject\" mais je ne trouve pas la commande adéquate afin de récupérer cette version de PS.
Auriez-vous une idée ?
Merci d'avance pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 6 mois #18101
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Recupere la version de powershell a distance
Salut,
Hornet_57000 écrit:
Tu trouveras ici les OS supportés par chaque version.
Hornet_57000 écrit:
Cette approche me semble intéressante.Auriez-vous une idée ?
Tu trouveras ici les OS supportés par chaque version.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 6 mois #18102
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Recupere la version de powershell a distance
Une autre
infos
.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 11 ans 6 mois #18103
par Philippe
Réponse de Philippe sur le sujet Re:Recupere la version de powershell a distance
Bonjour Hornet_57000
un exemple de command DOS pour avoir la version de powershell :
[code:1]powershell -command \"$PSVersionTable\"
Hello World !
Name Value
----
CLRVersion 2.0.50727.5472
BuildVersion 6.1.7601.17514
PSVersion 2.0
WSManStackVersion 2.0
PSCompatibleVersions {1.0, 2.0}
SerializationVersion 1.1.0.1
PSRemotingProtocolVersion 2.1[/code:1]
si tu a la reponse :
pour la requete a distance, j'utilise une fonction que j'ai trouver ici :
[code:1]function Process_cmd
{
Param($Target,$exec)
$random = get-random
#cmd to execute remotely
$cmd = \"cmd /c $exec > C:\$random.txt\"
#execute the cmd remotely
$processid = Invoke-WmiMethod -class Win32_process -name Create -ArgumentList $cmd -ComputerName $Target
#wait until the process is done
do { $resultprocess = Get-WmiObject win32_process -ComputerName $Target | where {$_.processid -eq $processid.processid }
sleep 1
} until ($resultprocess -eq $null)
#copy the log file into the script folder to get the content quickly
copy-item -path \\$Target\C$\$random.txt -destination .\
#get the log content create by the cmd
$result=Get-Content .\$random.txt -encoding ascii
#remove the log
remove-item \\$Target\C$\$random.txt
remove-item .\$random.txt
return $result
}
[/code:1]
c'est du WMI qui presque partout
un exemple d'utilisation :
[code:1]Process_cmd \"srv-fichiers\" 'powershell -command \"$PSVersionTable\"'[/code:1]
un exemple de command DOS pour avoir la version de powershell :
[code:1]powershell -command \"$PSVersionTable\"
Hello World !
Name Value
----
CLRVersion 2.0.50727.5472
BuildVersion 6.1.7601.17514
PSVersion 2.0
WSManStackVersion 2.0
PSCompatibleVersions {1.0, 2.0}
SerializationVersion 1.1.0.1
PSRemotingProtocolVersion 2.1[/code:1]
si tu a la reponse :
tu sais ce que ca veux dire !!!'powershell' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
pour la requete a distance, j'utilise une fonction que j'ai trouver ici :
[code:1]function Process_cmd
{
Param($Target,$exec)
$random = get-random
#cmd to execute remotely
$cmd = \"cmd /c $exec > C:\$random.txt\"
#execute the cmd remotely
$processid = Invoke-WmiMethod -class Win32_process -name Create -ArgumentList $cmd -ComputerName $Target
#wait until the process is done
do { $resultprocess = Get-WmiObject win32_process -ComputerName $Target | where {$_.processid -eq $processid.processid }
sleep 1
} until ($resultprocess -eq $null)
#copy the log file into the script folder to get the content quickly
copy-item -path \\$Target\C$\$random.txt -destination .\
#get the log content create by the cmd
$result=Get-Content .\$random.txt -encoding ascii
#remove the log
remove-item \\$Target\C$\$random.txt
remove-item .\$random.txt
return $result
}
[/code:1]
c'est du WMI qui presque partout
un exemple d'utilisation :
[code:1]Process_cmd \"srv-fichiers\" 'powershell -command \"$PSVersionTable\"'[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 6 mois #18104
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Recupere la version de powershell a distance
6ratgus écrit:
En passant, $PSVersionTable n'existe pas sur la v1.
Oui, bien que tu supposes que le path est correctement renseigné. Comme celle que j'ai proposé suppose que le service d'accès distant est en cours d'exécution.tu sais ce que ca veux dire !!!
En passant, $PSVersionTable n'existe pas sur la v1.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 11 ans 6 mois #18105
par Philippe
Réponse de Philippe sur le sujet Re:Recupere la version de powershell a distance
en faite il n'y a pas de solution unique.
powershell ne se retrouve pas non plus dans les programmes installer surtout depuis qui est intégré a OS.
il va falloir plusieurs test en fonction de l'OS de la version de powershell et peut être au chose encore !
option par la clé de registre semble bien.
du travail intéressent en vu ! et qui va m'intéressé !!<br><br>Message édité par: 6ratgus, à: 16/09/14 12:45
powershell ne se retrouve pas non plus dans les programmes installer surtout depuis qui est intégré a OS.
il va falloir plusieurs test en fonction de l'OS de la version de powershell et peut être au chose encore !
option par la clé de registre semble bien.
du travail intéressent en vu ! et qui va m'intéressé !!<br><br>Message édité par: 6ratgus, à: 16/09/14 12:45
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.050 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Recupere la version de powershell a distance