reseau:cloud:proxmox:apirestpowershell
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
reseau:cloud:proxmox:apirestpowershell [2024/09/07 18:40] – techer.charles_educ-valadon-limoges.fr | reseau:cloud:proxmox:apirestpowershell [2025/09/08 23:10] (Version actuelle) – [Créer un pool et affecter des permissions] admin | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
* sans séparation de privilège | * sans séparation de privilège | ||
===== Installation de Powershell 7 ===== | ===== Installation de Powershell 7 ===== | ||
+ | * Rechercher la dernière version de Powershell Core | ||
< | < | ||
- | iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI | + | winget search Microsoft.PowerShell |
+ | </code> | ||
+ | |||
+ | * Installer Powershell | ||
+ | < | ||
+ | winget | ||
</ | </ | ||
Ligne 18: | Ligne 24: | ||
PS > Install-Module -Name Corsinvest.ProxmoxVE.Api | PS > Install-Module -Name Corsinvest.ProxmoxVE.Api | ||
</ | </ | ||
+ | |||
+ | Vérifier l' | ||
+ | |||
+ | <code powershell> | ||
+ | PS > Get-Module -ListAvailable Corsinvest.ProxmoxVE.Api | ||
+ | </ | ||
+ | |||
===== Connexion au cluster ===== | ===== Connexion au cluster ===== | ||
Ligne 24: | Ligne 37: | ||
PS> Import-Module Corsinvest.ProxmoxVE.Api | PS> Import-Module Corsinvest.ProxmoxVE.Api | ||
- | PS > $ticket = Connect-PveCluster -HostsAndPorts 10.187.36.13:8006 -SkipCertificateCheck -ApiToken nom_jeton=valeur_jeton | + | PS > $ticket = Connect-PveCluster -HostsAndPorts 10.xxx.xxx.xxx:8006 -SkipCertificateCheck -ApiToken nom_jeton=valeur_jeton |
#return Ticket, default set $Global: | #return Ticket, default set $Global: | ||
Ligne 130: | Ligne 143: | ||
PS > (Get-PvePools).todata() | Where-Object poolid -like " | PS > (Get-PvePools).todata() | Where-Object poolid -like " | ||
</ | </ | ||
+ | |||
+ | Code alternatif car cela ne semble pas fonctionner : | ||
+ | < | ||
+ | #$ticket = Connect-PveCluster -HostsAndPorts 10.187.36.12: | ||
+ | |||
+ | # Définir un tableau de pools | ||
+ | $poolList = @(" | ||
+ | |||
+ | # Boucle sur chaque Pool | ||
+ | foreach ($pool in $poolList) { | ||
+ | Write-Host " | ||
+ | |||
+ | # appel API de Corsinvest.ProxmoxVE.Api | ||
+ | (Get-PvePools -Poolid $pool).Response.data.members | where-Object type -EQ " | ||
+ | Write-Host "Pool supprimé : $pool" | ||
+ | | ||
+ | | ||
+ | #arrêter les VM | ||
+ | (Get-PvePools -Poolid $pool).Response.data.members | where-Object type -EQ " | ||
+ | | ||
+ | #supprimer les VM | ||
+ | (Get-PvePools -Poolid $pool).Response.data.members | where-Object type -EQ " | ||
+ | |||
+ | #supprimer le pool | ||
+ | Remove-PvePools -Poolid $pool | ||
+ | Write-Host "Pool $pool supprimé" | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP center round info> | ||
+ | Code à améliorer car dans les faits, il faut relancer plusieurs fois le script, le temps que les conteneurs LXC et les VM soient effectivement supprimés piur pouvoir supprimer leur pool. | ||
+ | </ | ||
+ | |||
===== Arrêter et supprimer les VM d'un pool de ressources ===== | ===== Arrêter et supprimer les VM d'un pool de ressources ===== | ||
Ligne 144: | Ligne 192: | ||
#Arrêter toutes les VM concernées | #Arrêter toutes les VM concernées | ||
PS > (Get-PvePools).todata() | Where-Object poolid -like " | PS > (Get-PvePools).todata() | Where-Object poolid -like " | ||
+ | |||
+ | #supprimer toutes les VM concernées | ||
+ | PS > (Get-PvePools).todata() | Where-Object poolid -like " | ||
+ | </ | ||
+ | |||
+ | ===== Supprimer plusieurs pools de ressources===== | ||
+ | < | ||
+ | #Arrêter toutes les VM concernées | ||
+ | PS > (Get-PvePools).todata() | Where-Object poolid -like " | ||
===== Lister les étudiants d'une promotion | ===== Lister les étudiants d'une promotion | ||
<code powershell> | <code powershell> | ||
- | PS C: | + | PS > (Get-PveAccessusers -full).Response.data | Where-Object |
userid | userid | ||
Ligne 157: | Ligne 214: | ||
===== Lister les permissions d'un compte ===== | ===== Lister les permissions d'un compte ===== | ||
<code powershell> | <code powershell> | ||
- | PS > (Get-PveAccesspermissions -Userid | + | PS > (Get-PveAccesspermissions -Userid |
</ | </ | ||
+ | |||
+ | ===== Créer un pool et affecter des permissions ===== | ||
+ | <code poweshell> | ||
+ | | ||
+ | |||
+ | </ | ||
+ | |||
+ |
reseau/cloud/proxmox/apirestpowershell.1725727201.txt.gz · Dernière modification : 2024/09/07 18:40 de techer.charles_educ-valadon-limoges.fr