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:08] – [Supprimer les conteneurs LXC de plusieurs pools de ressources] 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 128: | Ligne 141: | ||
| ===== Supprimer les conteneurs LXC de plusieurs pools de ressources===== | ===== Supprimer les conteneurs LXC de plusieurs pools de ressources===== | ||
| < | < | ||
| - | 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. | ||
| + | </ | ||
| - | (Get-PvePools).todata() | Where-Object poolid -like " | ||
| - | </ | ||
| ===== Arrêter et supprimer les VM d'un pool de ressources ===== | ===== Arrêter et supprimer les VM d'un pool de ressources ===== | ||
| < | < | ||
| + | #arrêter les VM | ||
| (Get-PvePools -Poolid nom_pool).Response.data.members | where-Object type -EQ " | (Get-PvePools -Poolid nom_pool).Response.data.members | where-Object type -EQ " | ||
| + | #supprimer les VM | ||
| (Get-PvePools -Poolid nom_pool).Response.data.members | where-Object type -EQ " | (Get-PvePools -Poolid nom_pool).Response.data.members | where-Object type -EQ " | ||
| </ | </ | ||
| + | ===== Arrêter et supprimer les VM de plusieurs pools de ressources===== | ||
| + | < | ||
| + | #Arrêter toutes les VM concernées | ||
| + | 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 153: | 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.1725725285.txt.gz · Dernière modification : 2024/09/07 18:08 de techer.charles_educ-valadon-limoges.fr
