https://github.com/oracle-samples/posh-ovirt
PoSh-oVirt is a PowerShell module for managing OLVM (Oracle Linux Virtualization Manager) based on the open-source ovirt project
https://github.com/oracle-samples/posh-ovirt
olvm ovirt ovirt-management
Last synced: 6 months ago
JSON representation
PoSh-oVirt is a PowerShell module for managing OLVM (Oracle Linux Virtualization Manager) based on the open-source ovirt project
- Host: GitHub
- URL: https://github.com/oracle-samples/posh-ovirt
- Owner: oracle-samples
- License: upl-1.0
- Created: 2025-11-17T08:54:46.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-12-04T14:03:10.000Z (7 months ago)
- Last Synced: 2025-12-07T10:54:34.399Z (7 months ago)
- Topics: olvm, ovirt, ovirt-management
- Language: PowerShell
- Homepage: https://github.com/oracle-samples/posh-ovirt
- Size: 1.08 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Security: SECURITY.md
Awesome Lists containing this project
README
# PoSh-oVirt
A PowerShell Module for OLVM (oVirt) Management.
Quick Intro:
All Functions and classes are prefaced with the lowercase letter "o" (for oVirt) to avoid PowerShell naming conflicts with other modules
Uses a "Connection Management" PSObject To store connection data required to maintain connectivity to each oVirt server
oVirt has what I term Base (or primary) objects and Secondary objects that are "children" of the Base objects, therefore
the secondary functions require the instantiation of base objects as a reference. I.e. an oVmNic can't exist without a base oVM
Base Objects can be displayed (after connecting to an oVirt Server) using the command:
Get-oVirt -oVirtServerName $oVirtServerName | Select -ExpandProperty Link | Sort "rel"
Note: Most returned PSObjects have methods in their classes allowing users to retrieve additional properties about the object, not natively
returned by oVirt. This also saves time by not retrieving data until/if needed for additional activity. Many of these additional properties
are recursive, for additional drill down.
Note: This project is a work in progress, some of the functions were built based on (often vague) documentation, and I don't have a test
environment with some of the features required to validate them. So if something doesn't work there is a framework for most of the objects,
and a small handful of more obscure items, that I have not created yet. However following the format I've laid out, it should be possible to
build or fix functions.
Note: This module can make use of several 3rd party software features if already installed by the user. Putty, Plink, Virtual Machine Manager, and Posh-SSH.
None are required, and are NOT INCLUDED with this sample code.
## Installation
Copy the Folder PoSh-oVirt to a valid PowerShell Modules path on your system. Typically found by opening a PowerShell console and typing:
$Env:PSModulePath -Split ';'
## Documentation
All User Functions have PowerShell Get-Help based documentation.
Example:
Get-Help Get-oVirt
## Examples
I use the following example to connect:
Get-Module -Name "Posh-oVirt" -ListAvailable | Import-Module
$oVirtServerName = "ServerName.Domain.com"
$oVirtCredential = (Get-Credential -UserName 'admin@internal' -Message "Enter Password for $($oVirtServerName)")
Connect-oVirtServer -oVirtServerName $oVirtServerName -oVirtCredential $oVirtCredential
Get-oVirt -oVirtServerName $oVirtServerName | Select *
## Links
https://github.com/oracle-samples/posh-ovirt/
https://ovirt.github.io/ovirt-engine-api-model/4.5/
https://docs.oracle.com/en/virtualization/oracle-linux-virtualization-manager/
https://www.ovirt.org/
## Contributing
This project welcomes contributions from the community. Before submitting a pull request, please [review our contribution guide](./CONTRIBUTING.md)
## Security
Please consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process
## License
Copyright (c) 2024,2025 Oracle and/or its affiliates.
Released under the Universal Permissive License v1.0 as shown at
.