From 6e581385217972d09ed94293b774955b7381b6dd Mon Sep 17 00:00:00 2001 From: Zardrilokis Date: Wed, 11 Sep 2024 23:25:21 +0200 Subject: [PATCH] Version-2.7 Update : Rename function from : 'Get-LastestStableChromeVersion' to : 'Get-LastestStableChromeVersionOnline' Update : Update functions : 'Update-ChromeDriver' and 'Update-GoogleChrome' - Adapt functions with 'Invoke-webRequest' instead of Chrome driver for better performance and Update : Optimize code in the script : '.\BBOX-Administration.ps1' Update : Add new function : 'Uninstall-TUNCredentialManager' to uninstall the module : 'TUNCredentialManager' Update : Add new function : 'Uninstall-Program' to uninstall the program and all features Update : Rename function from : 'Import-TUNCredentialManager' to : 'Install-TUNCredentialManager' for more understanding Update : Update log files for better understanding Update : Cleaning old code lines that are only for devlopement and help to switch to the new web request type Update : Add Help 'Template' for each function and Powershell file to use 'Get-help' with it - Functions that Export data from API web request are not documented because this is the same function build --- BBOX-Administration.ps1 | 238 ++-- BOX-Module.psm1 | 342 +++-- README.md | 64 - Ressources/API-Summary.csv | 263 ---- Ressources/Classeur1.xlsx | Bin 12064 -> 0 bytes Ressources/Common-Functions.csv | 13 +- Ressources/Settings-Values.json | 1131 ----------------- Ressources/Tested-Environnement.csv | 14 - Ressources/{ChromeDriver => }/webdriver.dll | Bin .../{ChromeDriver => }/webdriver.support.dll | Bin 10 files changed, 311 insertions(+), 1754 deletions(-) delete mode 100644 README.md delete mode 100644 Ressources/API-Summary.csv delete mode 100644 Ressources/Classeur1.xlsx delete mode 100644 Ressources/Settings-Values.json rename Ressources/{ChromeDriver => }/webdriver.dll (100%) rename Ressources/{ChromeDriver => }/webdriver.support.dll (100%) diff --git a/BBOX-Administration.ps1 b/BBOX-Administration.ps1 index 80499fd..5fcf56b 100644 --- a/BBOX-Administration.ps1 +++ b/BBOX-Administration.ps1 @@ -294,9 +294,10 @@ Update : Update functions : 'Get-DeviceLog' and 'Get-DeviceFullLog' and 'Get-DeviceFullTechnicalLog' - Add new entries not yet managed (LAN_BAD_SUBNET,LAN_DUPLICATE_IP) Update : Update function : 'Get-NOTIFICATIONConfigEvents' - Add new headers : Index,Type,Scope,ShortName Update : Update function : 'Get-NOTIFICATIONConfig' - Change Headers - Update : Rename functions : 'Get-NOTIFICATIONConfigAlerts' to 'Get-NOTIFICATIONAlerts' and 'Get-NOTIFICATIONConfigContacts' to 'Get-NOTIFICATIONContacts' and 'Get-NOTIFICATIONConfigEvents' to 'Get-NOTIFICATIONEvents' + Update : Rename functions from : 'Get-NOTIFICATIONConfigAlerts' to : 'Get-NOTIFICATIONAlerts' and from : 'Get-NOTIFICATIONConfigContacts' to : 'Get-NOTIFICATIONContacts' and from : 'Get-NOTIFICATIONConfigEvents' to : 'Get-NOTIFICATIONEvents' Update : Remove functions : 'Get-NOTIFICATIONAlerts' and 'Get-NOTIFICATIONContacts' and 'Get-NOTIFICATIONEvents' - Due to duplicates functions - Update : Update function : 'Switch-Info' - Change Function name : 'Get-NOTIFICATIONConfigAlerts' to 'Get-NOTIFICATIONAlerts' and 'Get-NOTIFICATIONConfigContacts' to 'Get-NOTIFICATIONContacts' and 'Get-NOTIFICATIONConfigEvents' to 'Get-NOTIFICATIONEvents' + Update : Update function : 'Switch-Info' + Update : Rename Function from : 'Get-NOTIFICATIONConfigAlerts' to : 'Get-NOTIFICATIONAlerts' and from : 'Get-NOTIFICATIONConfigContacts' to : 'Get-NOTIFICATIONContacts' and from : 'Get-NOTIFICATIONConfigEvents' to : 'Get-NOTIFICATIONEvents' Update : Update File : '.\API-Summary.csv' Update : Update function : 'Get-NOTIFICATIONAlerts' - Add Header 'Mail' to see at which email addresses was sent the alerts Update : Update function : 'Get-USERSAVE' - Change date format @@ -366,7 +367,7 @@ Update : Update defaut chrome driver to version : 123.0.6312.58 Update : Update defaut Google chrome to version : 123.0.6312.105 Update : Update functions linked to function : "Switch-Function" - Update : Rename function from 'Get-VOIPDiag' to : 'Get-VOIPDiagLine' + Update : Rename function from : 'Get-VOIPDiag' to : 'Get-VOIPDiagLine' Update : Add function : 'Get-VOIPDiagConfig', to have VOIP Diag Summary Update : Update system config file : '.\Ressources\Settings-Program.json' parameter : 'ChromeDriverLastStableVersionUrl' to : 'https://getwebdriver.com/chromedriver/api/LATEST_RELEASE_STABLE' Update : Update logs files : '.\Logs\*\*-Box_Administration_Log.csv' and '.\Logs\*\*-Box-Administration-Transcript-Log.log' @@ -387,7 +388,7 @@ Update : Add function :'Remove-FolderContentAll' - to delete all files from all folders known by program Update : Correct syntaxe error and ajust text for end user for better understanding Update : Update function : 'Stop-Program' add 2 new parameter '-ErrorMessage' (To get error message) and '-Reason' (To add more explaintion for better Human understanding) - Update : Switch Chrome driver request to invoke web request to optimize the download for Chrome Driver & Google Chrome StandAlone version to local + Update : Switch Chrome driver request to invoke web request to optimize the download for Chrome Driver and Google Chrome StandAlone version to local Update : Update program to use 'Invoke-WebRequest' Powershell cmlet when no autentification is mandatory to get json data and optimize the run program Update : Chrome driver is use only to get data if autentification is mandatory with (Local / Remote) access (Public / Private) permissions Update : Add New function : 'Export-ProgramFilesCount' @@ -400,7 +401,15 @@ Update : Modify configuration file : '.\Ressources\Settings-Program.json' and new settings lincked to the new function Update : Add details about Module : '.\BOX-Module.psm1' Update : Add new function : 'Export-ModuleHelp' - to get information regarding the module details - Update : Rename function : 'Get-LastestStableChromeVersion' to 'Get-LastestStableChromeVersionOnline' + Update : Rename function from : 'Get-LastestStableChromeVersion' to : 'Get-LastestStableChromeVersionOnline' + Update : Update functions : 'Update-ChromeDriver' and 'Update-GoogleChrome' - Adapt functions with 'Invoke-webRequest' instead of Chrome driver for better performance and + Update : Optimize code in the script : '.\BBOX-Administration.ps1' + Update : Add new function : 'Uninstall-TUNCredentialManager' to uninstall the module : 'TUNCredentialManager' + Update : Add new function : 'Uninstall-Program' to uninstall the program and all features + Update : Rename function from : 'Import-TUNCredentialManager' to : 'Install-TUNCredentialManager' for more understanding + Update : Update log files for better understanding + Update : Cleaning old code lines that are only for devlopement and help to switch to the new web request type + Update : Add Help 'Template' for each function and Powershell file to use 'Get-help' with it - Functions that Export data from API web request are not documented because this is the same function build .LINKS @@ -417,14 +426,7 @@ http://winstonfassett.com/blog/2010/09/21/html-to-text-conversion-in-powershell/ https://learn.microsoft.com/fr-fr/powershell/module/microsoft.powershell.core/get-help - -#region admin execution control - -#$Script_Name = $MyInvocation.MyCommand.Name -#$Script = "$PSScriptRoot\$Script_Name" -#If (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {Start-Process Pwsh " -ExecutionPolicy Bypass -File `"$Script`"" -Verb RunAs; Exit} - -#endregion admin execution control +#> #region function @@ -560,23 +562,27 @@ Write-Log -Type INFO -Name 'Program initialisation - Start Initialisation' -M #endregion Start Program initialisation #region Create logs folder +Write-Log -Type VALUE -Name 'Program initialisation - Logs Folder Creation' -Message 'Step 1/10) : Logs Folder Creation' -Write-Log -Type INFO -Name 'Program initialisation - Logs Folder Creation' -Message 'Start Logs Folder Creation' -NotDisplay -Write-Log -Type INFONO -Name 'Program initialisation - Logs Folder Creation' -Message 'Start Logs Folder Creation status : ' -NotDisplay If (-not (Test-Path -Path $ScriptRootFolderPath)) { + Write-Log -Type INFO -Name 'Program initialisation - Logs Folder Creation' -Message 'Start Logs Folder Creation' -NotDisplay + Write-Log -Type INFONO -Name 'Program initialisation - Logs Folder Creation' -Message 'Start Logs Folder Creation status : ' -NotDisplay + Try { $Null = New-Item -Path $ScriptRootFolderPath -Name $global:LogFolderName -ItemType Directory -Force -ErrorAction Stop Write-Log -Type VALUE -Name 'Program initialisation - Logs Folder Creation' -Message 'Successful' -NotDisplay + Write-Log -Type INFO -Name 'Program initialisation - Logs Folder Creation' -Message 'End Logs Folder Creation' -NotDisplay } Catch { Write-Log -Type ERROR -Name 'Program initialisation - Logs Folder Creation' -Message "Failed, due to :$($_.string())" -NotDisplay + Write-Log -Type INFO -Name 'Program initialisation - Logs Folder Creation' -Message 'End Logs Folder Creation' -NotDisplay } } Else { Write-Log -Type VALUE -Name 'Program initialisation - Logs Folder Creation' -Message 'Already exist' -NotDisplay + Write-Log -Type INFO -Name 'Program initialisation - Logs Folder Creation' -Message 'End Logs Folder Creation' -NotDisplay } -Write-Log -Type INFO -Name 'Program initialisation - Logs Folder Creation' -Message 'End Logs Folder Creation' -NotDisplay #endregion Create logs folder @@ -584,6 +590,7 @@ Write-Log -Type INFO -Name 'Program initialisation - Logs Folder Creation' -Mess If ($Null -eq $global:TriggerExitSystem) { + Write-Log -Type VALUE -Name 'Program initialisation - Import JSON Settings Program' -Message 'Step 2/10) : Import JSON Settings Program' Write-Log -Type INFO -Name 'Program initialisation - Import JSON Settings Program' -Message 'Start Import JSON Settings Program' -NotDisplay Write-Log -Type INFONO -Name 'Program initialisation - Import JSON Settings Program' -Message 'Import JSON Settings Program Status : ' -NotDisplay Try { @@ -602,10 +609,10 @@ If ($Null -eq $global:TriggerExitSystem) { #region Load System Json Configuration files -Write-Log -Type INFO -Name 'Program initialisation - Load JSON Settings Program' -Message 'Start Load JSON Settings Program' -NotDisplay - If (($Null -eq $global:TriggerExitSystem) -and ($Null -ne $global:JSONSettingsProgramContent)) { + Write-Log -Type VALUE -Name 'Program initialisation - Load JSON Settings Program' -Message 'Step 3/10) : Load JSON Settings Program' + Write-Log -Type INFO -Name 'Program initialisation - Load JSON Settings Program' -Message 'Start Load JSON Settings Program' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Load JSON Settings Program' -Message "JSON Settings Program file path : $global:ProgramConfigurationFileSettingsPath" -NotDisplay Write-Log -Type INFONO -Name 'Program initialisation - Load JSON Settings Program' -Message 'Load JSON Settings Program Status : ' -NotDisplay @@ -651,9 +658,9 @@ If (($Null -eq $global:TriggerExitSystem) -and ($Null -ne $global:JSONSettingsPr $global:ChromeDriverDefaultSetupFileName = $global:JSONSettingsProgramContent.ChromeDriver.ChromeDriverDefaultSetupFileName $global:ChromeDriverDefaultSetupFileNamePath = "$global:ChromeDriverDefaultFolderNamePath\" + $global:ChromeDriverDefaultSetupFileName $global:ChromeDriverDefaultWebDriverDLLFileName = $global:JSONSettingsProgramContent.ChromeDriver.ChromeDriverDefaultWebDriverDLLFileName - $global:ChromeDriverDefaultWebDriverDLLFileNamePath = "$global:ChromeDriverRessourcesFolderNamePath\" + $global:ChromeDriverDefaultWebDriverDLLFileName + $global:ChromeDriverDefaultWebDriverDLLFileNamePath = "$global:RessourcesFolderNamePath\" + $global:ChromeDriverDefaultWebDriverDLLFileName $global:ChromeDriverDefaultWebDriverSupportFileName = $global:JSONSettingsProgramContent.ChromeDriver.ChromeDriverDefaultWebDriverSupportFileName - $global:ChromeDriverDefaultWebDriverSupportFileNamePath = "$global:ChromeDriverRessourcesFolderNamePath\" + $global:ChromeDriverDefaultWebDriverSupportFileName + $global:ChromeDriverDefaultWebDriverSupportFileNamePath = "$global:RessourcesFolderNamePath\" + $global:ChromeDriverDefaultWebDriverSupportFileName $global:ChromeDriverLastStableVersionUrl = $global:JSONSettingsProgramContent.ChromeDriver.ChromeDriverLastStableVersionUrl $global:ChromeDriverDownloadHomeUrl = $global:JSONSettingsProgramContent.ChromeDriver.ChromeDriverDownloadHomeUrl $global:ChromeDriverDownloadPathUrl = $global:JSONSettingsProgramContent.ChromeDriver.ChromeDriverDownloadPathUrl @@ -723,24 +730,27 @@ If (($Null -eq $global:TriggerExitSystem) -and ($Null -ne $global:JSONSettingsPr $global:ErrorResolveDNSMessage = $global:JSONSettingsProgramContent.Error.ResolveDNS.Message Write-Log -Type VALUE -Name 'Program initialisation - Load JSON Settings Program' -Message 'Successful' -NotDisplay + Write-Log -Type INFO -Name 'Program initialisation - Load JSON Settings Program' -Message 'End Load JSON Settings Program' -NotDisplay } Catch { Write-Log -Type ERROR -Name 'Program initialisation - Load JSON Settings Program' -Message "Failed, due to : $($_.ToString())" + Write-Log -Type INFO -Name 'Program initialisation - Load JSON Settings Program' -Message 'End Load JSON Settings Program' -NotDisplay $global:TriggerExitSystem = 1 } } Else { Write-Log -Type ERROR -Name 'Program initialisation - Load JSON Settings Program' -Message 'Failed, to load JSON Settings Program' + Write-Log -Type INFO -Name 'Program initialisation - Load JSON Settings Program' -Message 'End Load JSON Settings Program' -NotDisplay + $global:TriggerExitSystem = 1 } -Write-Log -Type INFO -Name 'Program initialisation - Load JSON Settings Program' -Message 'End Load JSON Settings Program' -NotDisplay - #endregion Load System Json Configuration files #region Import Functions with Module : 'Box-Module.psm1' If ($Null -eq $global:TriggerExitSystem) { + Write-Log -Type VALUE -Name 'Program initialisation - Powershell Module Importation' -Message 'Step 4/10) : Powershell Module Importation' Write-Log -Type INFO -Name 'Program initialisation - Powershell Module Importation' -Message 'Start Powershell Module Importation' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Powershell Module Importation' -Message "Powershell Module Path : $BoxModuleFileNamePath" -NotDisplay Write-Log -Type INFONO -Name 'Program initialisation - Powershell Module Importation' -Message 'Powershell Module Importation status : ' -NotDisplay @@ -773,7 +783,8 @@ If ($Null -eq $global:TriggerExitSystem) { Write-Log -Type INFONO -Name 'Program initialisation - Powershell Module Importation' -Message 'Powershell Module Importation status : ' -NotDisplay Try { - Import-TUNCredentialManager -ModuleName $ModuleName -ErrorAction Stop + Install-TUNCredentialManager -ModuleName $ModuleName -ErrorAction Stop + Write-Log -Type VALUE -Name 'Program initialisation - Powershell Module Importation' -Message 'Successful' -NotDisplay } Catch { Write-Log -Type ERROR -Name 'Program initialisation - Powershell Module Importation' -Message "Failed, Powershell Module $ModuleName can't be installed or imported, due to : $($_.ToString())" @@ -787,20 +798,21 @@ If ($Null -eq $global:TriggerExitSystem) { #region Check if ressources folder exist If ($Null -eq $global:TriggerExitSystem) { - - Write-Log -Type INFO -Name 'Program initialisation - Ressources Folder' -Message 'Start Folder Ressources Check' -NotDisplay - Write-Log -Type INFO -Name 'Program initialisation - Ressources Folder' -Message "Ressources Folder Path : $global:RessourcesFolderNamePath" -NotDisplay - Write-Log -Type INFONO -Name 'Program initialisation - Ressources Folder' -Message 'Ressources Folder State : ' -NotDisplay + + Write-Log -Type VALUE -Name 'Program initialisation -Ressources Folder Check' -Message 'Step 5/10) : Folder Ressources Check' + Write-Log -Type INFO -Name 'Program initialisation - Ressources Folder Check' -Message 'Start Folder Ressources Check' -NotDisplay + Write-Log -Type INFO -Name 'Program initialisation - Ressources Folder Check' -Message "Ressources Folder Path : $global:RessourcesFolderNamePath" -NotDisplay + Write-Log -Type INFONO -Name 'Program initialisation - Ressources Folder Check' -Message 'Ressources Folder State : ' -NotDisplay If (Test-Path -Path $global:RessourcesFolderNamePath -ErrorAction Stop) { - Write-Log -Type VALUE -Name 'Program initialisation - Ressources Folder' -Message 'Already Exist' -NotDisplay + Write-Log -Type VALUE -Name 'Program initialisation - Ressources Folder Check' -Message 'Already Exist' -NotDisplay } Else { - Write-Log -Type ERROR -Name 'Program initialisation - Ressources Folder' -Message 'Not found' + Write-Log -Type ERROR -Name 'Program initialisation - Ressources Folder Check' -Message 'Not found' $global:TriggerExitSystem = 1 } - Write-Log -Type INFO -Name 'Program initialisation - Ressources Folder' -Message 'End Folder Ressources check' -NotDisplay + Write-Log -Type INFO -Name 'Program initialisation - Ressources Folder Check' -Message 'End Folder Ressources check' -NotDisplay } #endregion Check if ressources folder exist @@ -809,6 +821,7 @@ If ($Null -eq $global:TriggerExitSystem) { If ($Null -eq $global:TriggerExitSystem) { + Write-Log -Type VALUE -Name 'Program initialisation - Program Folders/Files check' -Message 'Step 6/10) : Program Folders/Files check' Write-Log -Type INFO -Name 'Program initialisation - Program Folders/Files check' -Message 'Start Program Folders/Files check' -NotDisplay # Folders test @@ -818,10 +831,10 @@ If ($Null -eq $global:TriggerExitSystem) { Test-FolderPath -FolderRoot $ScriptRootFolderPath -FolderPath $JournalFolderNamePath -FolderName $JournalFolderNamePath -ErrorAction Stop Test-FolderPath -FolderRoot $ScriptRootFolderPath -FolderPath $ReportFolderNamePath -FolderName $ReportFolderNamePath -ErrorAction Stop Test-FolderPath -FolderRoot $ScriptRootFolderPath -FolderPath $JsonBoxconfigFolderNamePath -FolderName $JsonBoxconfigFolderNamePath -ErrorAction Stop - Test-FolderPath -FolderRoot $ScriptRootFolderPath -FolderPath $global:ChromeDriverRessourcesFolderNamePath -FolderName $global:ChromeDriverRessourcesFolderNamePath -ErrorAction Stop - Test-FolderPath -FolderRoot $ScriptRootFolderPath -FolderPath $global:ChromeDriverDefaultFolderNamePath -FolderName $global:ChromeDriverDefaultFolderNamePath -ErrorAction Stop + Test-FolderPath -FolderRoot $global:RessourcesFolderNamePath -FolderPath $global:ChromeDriverRessourcesFolderNamePath -FolderName $global:ChromeDriverRessourcesFolderNamePath -ErrorAction Stop + Test-FolderPath -FolderRoot $global:ChromeDriverRessourcesFolderNamePath -FolderPath $global:ChromeDriverDefaultFolderNamePath -FolderName $global:ChromeDriverDefaultFolderNamePath -ErrorAction Stop Test-FolderPath -FolderRoot $global:RessourcesFolderNamePath -FolderPath $global:GoogleChromeRessourcesFolderNamePath -FolderName $global:GoogleChromeRessourcesFolderNamePath -ErrorAction Stop - Test-FolderPath -FolderRoot $global:GoogleChromeRessourcesFolderNamePath -FolderPath $global:GoogleChromeDefaultFolderNamePath -FolderName $global:GoogleChromeDefaultFolderNamePath -ErrorAction Stop + Test-FolderPath -FolderRoot $global:GoogleChromeRessourcesFolderNamePath -FolderPath $global:GoogleChromeDefaultFolderNamePath -FolderName $global:GoogleChromeDefaultFolderNamePath -ErrorAction Stop Test-FolderPath -FolderRoot $ScriptRootFolderPath -FolderPath $global:HelpFolderNamePath -FolderName $global:HelpFolderNamePath -ErrorAction Stop # Export folder by Box Type @@ -851,13 +864,14 @@ If ($Null -eq $global:TriggerExitSystem) { #endregion Create folders/files if not yet existing #region Check Internet connection - +Write-Log -Type VALUE -Name 'Program initialisation - Check Internet connection' -Message 'Step 7/10) : Check Internet connection' #endregion Check Internet connection #region Get Lastest Stable Chrome Version Online If ($Null -eq $global:TriggerExitSystem) { + Write-Log -Type VALUE -Name 'Program initialisation - Get Lastest Stable Chrome Version Online' -Message 'Step 8/10) : Get Lastest Stable Chrome Version Online' Write-Log -Type INFO -Name 'Program initialisation - Get Lastest Stable Chrome Version Online' -Message 'Start Get Lastest Stable Chrome Version Online' -NotDisplay Get-LastestStableChromeVersionOnline -ChromeDriverLastStableVersionUrl $Global:ChromeDriverLastStableVersionUrl -ErrorAction Stop Write-Log -Type INFO -Name 'Program initialisation - Get Lastest Stable Chrome Version Online' -Message 'End Get Lastest Stable Chrome Version Online' -NotDisplay @@ -869,6 +883,7 @@ If ($Null -eq $global:TriggerExitSystem) { If ($Null -eq $global:TriggerExitSystem) { + Write-Log -Type VALUE -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'Step 9/10) : Default Chrome Driver Standalone Installation Check' Write-Log -Type INFO -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'Start Default Chrome Driver Standalone Installation Check' -NotDisplay Write-Log -Type INFONO -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'Default Chrome Driver Standalone Installation Check status : ' -NotDisplay @@ -880,8 +895,8 @@ If ($Null -eq $global:TriggerExitSystem) { Write-Log -Type VALUE -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'Successful' -NotDisplay } Catch { - Write-Log -Type WARNING -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'Undefine' -NotDisplay - $ChromeDriverVersion = 'Undefine' + Write-Log -Type WARNING -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'To be download and install' -NotDisplay + $ChromeDriverVersion = 'To be download and install' } Write-Log -Type INFO -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'End Default Chrome Driver Standalone Installation Check' -NotDisplay @@ -901,13 +916,17 @@ If ($Null -eq $global:TriggerExitSystem) { Write-Log -Type VALUE -Name 'Program initialisation - Control maching version' -Message $global:ChromeDriverLastStableVersion -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Control maching version' -Message 'End Control maching version Chrome Driver Standalone' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'Start stop Chrome Driver' -NotDisplay + Stop-ChromeDriver + Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'End stop Chrome Driver' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'Start Remove Old Chrome Driver Version' -NotDisplay Remove-FolderContent -FolderRoot $global:ChromeDriverRessourcesFolderNamePath -FolderName $global:ChromeDriverDefaultFolderName Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'End Remove Old Chrome Driver Version' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'Start update Chrome Driver' -NotDisplay + Update-ChromeDriver + Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'End update Chrome Driver' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'End Default Chrome Driver Standalone Installation Check' -NotDisplay } @@ -918,16 +937,22 @@ If ($Null -eq $global:TriggerExitSystem) { } } Else { - Write-Log -Type WARNING -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'Undefine' -NotDisplay + Write-Log -Type WARNING -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'To be download and install' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'End Default Chrome Driver Standalone Installation Check' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'Start stop Chrome Driver' -NotDisplay + Stop-ChromeDriver + Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'End stop Chrome Driver' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'Start Remove Old Chrome Driver Version' -NotDisplay + Remove-FolderContent -FolderRoot $global:ChromeDriverRessourcesFolderNamePath -FolderName $global:ChromeDriverDefaultFolderName + Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'End Remove Old Chrome Driver Version' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'Start update Chrome Driver' -NotDisplay + Update-ChromeDriver + Write-Log -Type INFO -Name 'Program initialisation - Update Chrome Driver' -Message 'End update Chrome Driver' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Default Chrome Driver Standalone Installation Check' -Message 'End Default Chrome Driver Standalone Installation Check' -NotDisplay } @@ -939,6 +964,7 @@ If ($Null -eq $global:TriggerExitSystem) { If ($Null -eq $global:TriggerExitSystem) { + Write-Log -Type VALUE -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'Step 10/10) : Default Google Chrome Standalone Installation Check' Write-Log -Type INFO -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'Start Default Google Chrome Standalone Installation Check' -NotDisplay Write-Log -Type INFONO -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'Default Google Chrome Standalone Installation Check status : ' -NotDisplay @@ -949,8 +975,8 @@ If ($Null -eq $global:TriggerExitSystem) { Write-Log -Type VALUE -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'Successful' -NotDisplay } Catch { - $GoogleChromeVersion = 'Undefine' - Write-Log -Type WARNING -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'Undefine' -NotDisplay + $GoogleChromeVersion = 'To be download and install' + Write-Log -Type WARNING -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'To be download and install' -NotDisplay } Write-Log -Type INFO -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'End Default Google Chrome Standalone Installation Check' -NotDisplay @@ -970,13 +996,19 @@ If ($Null -eq $global:TriggerExitSystem) { Write-Log -Type VALUE -Name 'Program initialisation - Control maching version' -Message $global:ChromeDriverLastStableVersion -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Control maching version' -Message 'End Control maching version Google Chrome Standalone' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Start stop Google Chrome' -NotDisplay + Stop-ChromeDriver + Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'End stop Google Chrome' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Start Remove Old Google Chrome Version' -NotDisplay + Remove-FolderContent -FolderRoot $global:GoogleChromeRessourcesFolderNamePath -FolderName $global:GoogleChromeDefaultFolderName + Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'End Remove Old Google Chrome Version' -NotDisplay + Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Start update Google Chrome' -NotDisplay Update-GoogleChrome + Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'End update Google Chrome' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'End Default Google Chrome Standalone Installation Check' -NotDisplay } @@ -987,16 +1019,22 @@ If ($Null -eq $global:TriggerExitSystem) { } } Else { - Write-Log -Type WARNING -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'Undefine' -NotDisplay + Write-Log -Type WARNING -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'To be download and install' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'End Default Google Chrome Standalone Installation Check' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Start stop Google Chrome' -NotDisplay + Stop-ChromeDriver + Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'End stop Google Chrome' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Start Remove Old Google Chrome Version' -NotDisplay + Remove-FolderContent -FolderRoot $global:GoogleChromeRessourcesFolderNamePath -FolderName $global:GoogleChromeDefaultFolderName + Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'End Remove Old Google Chrome Version' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Start update Google Chrome' -NotDisplay + Update-GoogleChrome + Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'End update Google Chrome' -NotDisplay Write-Log -Type INFO -Name 'Program initialisation - Default Google Chrome Standalone Installation Check' -Message 'End Default Google Chrome Standalone Installation Check' -NotDisplay } @@ -1004,124 +1042,6 @@ If ($Null -eq $global:TriggerExitSystem) { #endregion Check if Default Google Chrome Standalone is already install else download and install it -<# - -#region Check Chrome Driver Version installed - -If ($Null -eq $global:TriggerExitSystem) { - - Write-Log -Type INFO -Name 'Program initialisation - Chrome Driver Version' -Message 'Start check Chrome Driver Version installed on device' -NotDisplay - Write-Log -Type INFONO -Name 'Program initialisation - Chrome Driver Version' -Message 'Check Chrome Driver Version installed on device status :' -NotDisplay - - Try { - Get-ChromeDriverVersion -ErrorAction Stop - $ChromeDriverBinaryPath = "$global:ChromeDriverRessourcesFolderNamePath\$global:ChromeDriverFolder\$ChromeDriverDefaultSetupFileName" - Write-Log -Type INFONO -Name 'Program initialisation - Chrome Driver Version' -Message 'New Chrome Driver Binary Path : ' -NotDisplay - Write-Log -Type VALUE -Name 'Program initialisation - Chrome Driver Version' -Message $ChromeDriverBinaryPath -NotDisplay - } - Catch { - Write-Log -Type ERROR -Name 'Program initialisation - Chrome Driver Version' -Message "Failed, to define the correct Chrome Driver Version, due to : $($_.ToString())" - $global:ChromeDriverVersion = "Undefine" - $global:TriggerExitSystem = 1 - } - - Write-Log -Type INFO -Name 'Program initialisation - Chrome Driver Version' -Message 'End check Chrome Driver Version installed on device' -NotDisplay -} - -#endregion Check Chrome Driver Version installed - -#region Check Google Chrome Version installed - -If ($Null -eq $global:TriggerExitSystem) { - - Write-Log -Type INFO -Name 'Program initialisation - Google Chrome Version' -Message 'Start check Google Chrome Version installed on device' -NotDisplay - Write-Log -Type INFONO -Name 'Program initialisation - Google Chrome Version' -Message 'Check Google Chrome Version installed on device status :' -NotDisplay - - Try { - Get-GoogleChromeVersion -ErrorAction Stop - $GoogleChromeBinaryPath = "$global:GoogleChromeRessourcesFolderNamePath\$global:GoogleChromeFolder\$GoogleChromeDefaultSetupFileName" - Write-Log -Type INFONO -Name 'Program initialisation - Google Chrome Version' -Message 'New Google Chrome Binary Path : ' -NotDisplay - Write-Log -Type VALUE -Name 'Program initialisation - Google Chrome Version' -Message $GoogleChromeBinaryPath -NotDisplay - } - Catch { - Write-Log -Type ERROR -Name 'Program initialisation - Google Chrome Version' -Message "Failed, to define the correct Google Chrome Version, due to : $($_.ToString())" - $global:GoogleChromeVersion = "Undefine" - $global:TriggerExitSystem = 1 - } - - Write-Log -Type INFO -Name 'Program initialisation - Google Chrome Version' -Message 'End check Google Chrome Version installed on device' -NotDisplay -} - -#endregion Check Chrome Driver Version installed - -#region Update Chrome Driver version - -If ($Null -eq $global:TriggerExitSystem) { - - Write-Log -Type INFO -Name 'Program initialisation - Update ChromeDriver' -Message 'Start update ChromeDriver' -NotDisplay - - #Start-ChromeDriver -ChromeBinaryPath $GoogleChromeBinaryPath -LogsPath $global:LogDateFolderNamePath -ChromeDriverDefaultProfile $GoogleChromeDefaultProfileName -ErrorAction Stop - Get-LastestStableChromeVersionOnline -ChromeDriverLastStableVersionUrl $Global:ChromeDriverLastStableVersionUrl -ErrorAction Stop - Update-ChromeDriver -ErrorAction Stop - Update-GoogleChrome -ErrorAction Stop - #Stop-ChromeDriver -ErrorAction Stop - Write-Log -Type INFO -Name 'Program initialisation - Update ChromeDriver' -Message 'End update ChromeDriver' -NotDisplay -} - -#endregion Update Chrome Driver version - -#region Check Chrome Driver Version installed - -If ($Null -eq $global:TriggerExitSystem) { - - Write-Log -Type INFO -Name 'Program initialisation - Chrome Driver Version' -Message 'Start check Chrome Driver Version installed on device' -NotDisplay - Write-Log -Type INFONO -Name 'Program initialisation - Chrome Driver Version' -Message 'Check Chrome Driver Version installed on device status :' -NotDisplay - - Try { - Get-ChromeDriverVersion -ErrorAction Stop - Write-Log -Type VALUE -Name 'Program initialisation - Chrome Driver Version' -Message 'Successful' -NotDisplay - $ChromeDriverBinaryPath = "$global:ChromeDriverRessourcesFolderNamePath\$global:ChromeDriverFolder\$ChromeDriverDefaultSetupFileName" - Write-Log -Type INFONO -Name 'Program initialisation - Chrome Driver Version' -Message 'New Chrome Driver Binary Path : ' -NotDisplay - Write-Log -Type VALUE -Name 'Program initialisation - Chrome Driver Version' -Message $ChromeDriverBinaryPath -NotDisplay - } - Catch { - Write-Log -Type ERROR -Name 'Program initialisation - Chrome Driver Version' -Message "Failed, to define the correct Chrome Driver Version, due to : $($_.ToString())" - $global:ChromeDriverVersion = "Undefine" - $global:TriggerExitSystem = 1 - } - - Write-Log -Type INFO -Name 'Program initialisation - Chrome Driver Version' -Message 'End check Chrome Driver Version installed on device' -NotDisplay -} - -#endregion Check Chrome Driver Version installed - -#region Check Google Chrome Version installed - -If ($Null -eq $global:TriggerExitSystem) { - - Write-Log -Type INFO -Name 'Program initialisation - Google Chrome Version' -Message 'Start check Google Chrome Version installed on device' -NotDisplay - Write-Log -Type INFONO -Name 'Program initialisation - Google Chrome Version' -Message 'Check Google Chrome Version installed on device status :' -NotDisplay - - Try { - Get-GoogleChromeVersion -ErrorAction Stop - Write-Log -Type VALUE -Name 'Program initialisation - Google Chrome Version' -Message 'Successful' -NotDisplay - $GoogleChromeBinaryPath = "$global:GoogleChromeRessourcesFolderNamePath\$global:GoogleChromeFolder\$GoogleChromeDefaultSetupFileName" - Write-Log -Type INFONO -Name 'Program initialisation - Google Chrome Version' -Message 'New Google Chrome Binary Path : ' -NotDisplay - Write-Log -Type VALUE -Name 'Program initialisation - Google Chrome Version' -Message $GoogleChromeBinaryPath -NotDisplay - } - Catch { - Write-Log -Type ERROR -Name 'Program initialisation - Google Chrome Version' -Message "Failed, to define the correct Google Chrome Version, due to : $($_.ToString())" - $global:GoogleChromeVersion = "Undefine" - $global:TriggerExitSystem = 1 - } - - Write-Log -Type INFO -Name 'Program initialisation - Google Chrome Version' -Message 'End check Google Chrome Version installed on device' -NotDisplay -} - -#endregion Check Chrome Driver Version installed - -#> - #region End Program Initialisation Write-Log -Type INFONO -Name 'Program initialisation - Start Initialisation' -Message 'Status : ' @@ -1531,7 +1451,7 @@ While ($Null -eq $global:TriggerExitSystem) { Write-Log -Type INFONO -Name 'Program run - ChromeDriver Launch' -Message 'Starting ChromeDriver as backgroung process : ' -NotDisplay Try { - Start-ChromeDriver -ChromeBinaryPath $GoogleChromeBinaryPath -DownloadPath $JournalFolderNamePath -LogsPath $global:LogDateFolderNamePath -ChromeDriverDefaultProfile $GoogleChromeDefaultProfileName -ErrorAction Stop + Start-ChromeDriver -ChromeBinaryPath $Global:GoogleChromeDefaultSetupFileNamePath -DownloadPath $JournalFolderNamePath -LogsPath $global:LogDateFolderNamePath -ChromeDriverDefaultProfile $GoogleChromeDefaultProfileName -ErrorAction Stop Write-Log -Type VALUE -Name 'Program run - ChromeDriver Launch' -Message 'Started' -NotDisplay } Catch { diff --git a/BOX-Module.psm1 b/BOX-Module.psm1 index 012cf4f..91a0d8c 100644 --- a/BOX-Module.psm1 +++ b/BOX-Module.psm1 @@ -33,7 +33,7 @@ .NOTES Version : 2.7 Creation Date : 2020/04/30 - Updated Date : 2024/09/06 + Updated Date : 2024/09/10 Updated By : @Zardrilokis => Tom78_91_45@yahoo.fr Author : @Zardrilokis => Tom78_91_45@yahoo.fr @@ -162,21 +162,21 @@ function Write-Log { #region Windows Credential Manager -# Import module TUN.CredentialManager -Function Import-TUNCredentialManager { +# Install module TUN.CredentialManager +Function Install-TUNCredentialManager { <# .SYNOPSIS - To Import 'TUNCredentialManager' Module + To Install 'TUNCredentialManager' Module .DESCRIPTION - To Import 'TUNCredentialManager' Module + To Install 'TUNCredentialManager' Module .PARAMETER ModuleName Use the Module Name without the version .EXAMPLE - Import-TUNCredentialManager -ModuleName TUNCredentialManager + Install-TUNCredentialManager -ModuleName TUNCredentialManager .INPUTS 'TUNCredentialManager' module from: https://www.powershellgallery.com @@ -208,6 +208,7 @@ Function Import-TUNCredentialManager { Try { Start-Process -FilePath Pwsh -Verb RunAs -WindowStyle Normal -Wait -ArgumentList {-ExecutionPolicy bypass -command "Install-Module -Name TUN.CredentialManager -Scope Allusers -verbose -Force -ErrorAction Stop;Pause"} -ErrorAction Stop Start-Sleep -Seconds $global:SleepTUNCredentialManagerModuleinstallation + Write-Log -Type VALUE -Name "Program initialisation - Powershell $ModuleName Module installation" -Message 'Successful' -NotDisplay } Catch { Write-Log -Type WARNING -Name "Program initialisation - Powershell $ModuleName Module installation" -Message "Failed, due to $($_.ToString())" -NotDisplay @@ -237,6 +238,72 @@ Function Import-TUNCredentialManager { } } +# Unistall module TUN.CredentialManager +Function Uninstall-TUNCredentialManager { + + <# + .SYNOPSIS + To Uninstall 'TUNCredentialManager' Module + + .DESCRIPTION + To Uninstall 'TUNCredentialManager' Module + + .PARAMETER ModuleName + Use the Module Name without the version + + .EXAMPLE + Uninstall-TUNCredentialManager -ModuleName TUNCredentialManager + + .INPUTS + 'TUNCredentialManager' module from: https://www.powershellgallery.com + + .OUTPUTS + Null + + .NOTES + Author: @Zardrilokis => Tom78_91_45@yahoo.fr + Linked to function(s): 'Stop-Program' + Linked to script(s): '.\Box-Administration.ps1' + Web Link: https://www.powershellgallery.com/packages/TUN.CredentialManager + + #> + + Param ( + [Parameter(Mandatory=$True)] + [String]$ModuleName + ) + + Write-Log -Type INFONO -Name "Program initialisation - Powershell $ModuleName Module uninstallation" -Message "Powershell $ModuleName Module uninstallation status : " -NotDisplay + + If ($null -eq (Get-InstalledModule -name $ModuleName -ErrorAction SilentlyContinue)) { + + Write-Log -Type WARNING -Name "Program initialisation - Powershell $ModuleName Module uninstallation" -Message 'Not yet' -NotDisplay + Write-Log -Type INFO -Name "Program initialisation - Powershell $ModuleName Module uninstallation" -Message "Try to install Powershell $ModuleName Module in user context" -NotDisplay + Write-Log -Type INFO -Name "Program initialisation - Powershell $ModuleName Module uninstallation" -Message "Powershell $ModuleName Module uninstallation status : " -NotDisplay + + Try { + Start-Process -FilePath Pwsh -Verb RunAs -WindowStyle Normal -Wait -ArgumentList {-ExecutionPolicy bypass -command "Uninstall-Module -Name TUN.CredentialManager -confirm:$false -verbose -Force -ErrorAction Stop;Pause"} -ErrorAction Stop + Start-Sleep -Seconds $global:SleepTUNCredentialManagerModuleinstallation + Write-Log -Type VALUE -Name "Program initialisation - Powershell $ModuleName Module uninstallation" -Message 'Successful' -NotDisplay + } + Catch { + Write-Log -Type WARNING -Name "Program initialisation - Powershell $ModuleName Module uninstallation" -Message "Failed, due to $($_.ToString())" -NotDisplay + Stop-Program -Context System -ErrorAction Stop + } + + If (($null -eq $global:TriggerExitSystem) -and ($null -eq $(Get-InstalledModule -name $ModuleName))) { + + Write-Log -Type VALUE -Name "Program initialisation - Powershell $ModuleName Module uninstallation" -Message 'Successful' -NotDisplay + } + Else { + Write-Log -Type WARNING -Name "Program initialisation - Powershell $ModuleName Module uninstallation" -Message "Failed, due to $($_.ToString())" -NotDisplay + } + } + Else { + Write-Log -Type VALUE -Name "Program initialisation - Powershell $ModuleName Module uninstallation" -Message 'Already uninstalled' -NotDisplay + } +} + # Remove Box Credential stored in Windows Credential Manager Function Remove-BoxCredential { @@ -1320,7 +1387,7 @@ Function Remove-FolderContent { } Else { Write-Log -Type INFONO -Name 'Program run - Clean folder content' -Message "`"$FolderPath`" folder state : " -NotDisplay - Write-Log -Type VALUE -Name 'Program run - Clean folder content' -Message 'Not found' -NotDisplay + Write-Log -Type VALUE -Name 'Program run - Clean folder content' -Message 'Do no exist' -NotDisplay } Write-Log -Type INFO -Name 'Program run - Clean folder content' -Message "End Clean `"$FolderPath`" folder content" -NotDisplay } @@ -1587,10 +1654,10 @@ function Export-ModuleFunction { This is the name of the module .PARAMETER FileExtention - This the file extention file for module, must be : .psm1 + This is the file extention for module, must be : .psm1 .PARAMETER ExportFolderPath - This the path where for all functions have got a dedicated file will be create. + This is the path where for all functions have got a dedicated file will be create. .EXAMPLE Export-ModuleFunction -ModuleFolderPath "C:\Temp" -ModuleFileName "BOX-Module" -FileExtention ".psm1" -ExportFolderPath "C:\Temp\GetHelp" @@ -2028,7 +2095,7 @@ Function Get-LastestStableChromeVersionOnline { To Get Lastest Stable Chrome version .PARAMETER ChromeDriverLastStableVersionUrl - This the url to get the last online version of Chrome Driver and Google Chrome + This is the url to get the last online version of Chrome Driver and Google Chrome .EXAMPLE Get-LastestStableChromeVersionOnline -ChromeDriverLastStableVersionUrl 'https://getwebdriver.com/chromedriver/api/LATEST_RELEASE_STABLE' @@ -2148,7 +2215,7 @@ Function Get-HostStatus { To check if external Box DNS is online .PARAMETER UrlRoot - This the Root DNS/url to connect to the Box web interface + This is the Root DNS/url to connect to the Box web interface .EXAMPLE Get-HostStatus -UrlRoot "mybox.bytel.fr" @@ -2257,10 +2324,10 @@ Function Get-PortStatus { To check if external Box Port is open .PARAMETER UrlRoot - This the Root DNS/url to connect to the Box web interface + This is the Root DNS/url to connect to the Box web interface .PARAMETER Port - This the port to check if open or not + This is the port to check if open or not .EXAMPLE Get-HostStatus -UrlRoot "exemple.com" -Port "8560" @@ -2368,7 +2435,7 @@ Function Get-LanPortState { To get Box LAN Switch Port State .PARAMETER LanPortState - This the switch port number to get the state + This is the switch port number to get the state .EXAMPLE Get-LanPortState -LanPortState 1 @@ -2417,13 +2484,13 @@ Function Connect-BBox { To connect to BBox Web interface .PARAMETER UrlAuth - This the url use to login to the BBox web interface + This is the url use to login to the BBox web interface .PARAMETER UrlHome This is the main page of BBox web interface .PARAMETER Password - This the user password to authentificate to Box web interface + This is the user password to authentificate to Box web interface .EXAMPLE Connect-BBOX -UrlAuth "https://mabbox.bytel.fr" -UrlHome "https://mabbox.bytel.fr/index.html" -Password "Password" @@ -2510,13 +2577,13 @@ Function Connect-FREEBOX { To connect to Box Web interface .PARAMETER UrlAuth - This the url use to login to the Box web interface + This is the url use to login to the Box web interface .PARAMETER UrlHome This is the main page of Box web interface .PARAMETER Password - This the user password to authentificate to Box web interface + This is the user password to authentificate to Box web interface .EXAMPLE Connect-BOX -UrlAuth "https://192.168.0.254" -UrlHome "https://192.168.0.254/index.html" -Password "Password" @@ -3317,10 +3384,6 @@ Function Switch-Info { Remove-FCH {$FormatedData = Remove-FolderContent -FolderRoot $PSScriptRoot -FolderName $APIName;Break} - Remove-FCGCV {$FormatedData = Remove-FolderContent -FolderRoot $global:GoogleChromeRessourcesFolderNamePath -FolderName $global:GoogleChromeDefaultFolderName;Break} - - Remove-FCCDV {$FormatedData = Remove-FolderContent -FolderRoot $global:ChromeDriverRessourcesFolderNamePath -FolderName $global:ChromeDriverDefaultFolderName;Break} - # DisplayFormat Switch-DF {$FormatedData = Switch-DisplayFormat;Break} @@ -3364,6 +3427,9 @@ Function Switch-Info { # Quit/Close Program Stop-Program {Stop-Program -Context User -ErrorMessage 'User want to quit the program' -Reason 'User want to quit the program' -ErrorAction Stop;Break} + # Uninstall Program + Uninstall-Program {Uninstall-Program -ErrorAction Stop;Break} + # Default Default {Write-log WARNING -Name 'Program run - Action not yet developed' -Message "Selected Action is not yet developed, please chose another one, for more information contact me by mail : $Mail or post on github : $GitHubUrlSite" Show-WindowsFormDialogBox -Title 'Program run - Action not yet developed' -Message "Selected Action is not yet developed, please chose another one, for more information contact me by mail : $Mail or post on github : $GitHubUrlSite" -WarnIcon @@ -3450,6 +3516,69 @@ Function Stop-Program { Exit } +# Used only to unistall the Program +Function Uninstall-Program { + + <# + .SYNOPSIS + To uninstall the Program + + .DESCRIPTION + To uninstall the Program + + .EXAMPLE + Uninstall-Program + + .INPUTS + + + .OUTPUTS + - Stop All ChromeDriver and StandAlone Google Chrome Processes + - Remove registred credentials + - Unistall Modules (BOX-Module.psm1 & TUN.CredentialManager) with Admin Rights + - Remove Chrome Driver registry path + - Remove All files + - Remove Logs (Stop-Transcript) + + .NOTES + Author: @Zardrilokis => Tom78_91_45@yahoo.fr + Linked to function(s): 'Write-Log', 'Show-WindowsFormDialogBox', 'Stop-ChromeDriver','Import-TUNCredentialManager', 'Show-WindowsFormDialogBox2Choices', 'Show-WindowsFormDialogBox2ChoicesCancel', 'Show-WindowsFormDialogBox3Choices', 'Show-WindowsFormDialogBox3ChoicesCancel', 'Test-FolderPath', 'Test-FilePath', 'Get-HostStatus', 'Get-PortStatus', 'Connect-Box', 'Switch-Info', 'Get-JSONSettingsCurrentUserContent', 'Get-JSONSettingsDefaultUserContent', 'Reset-CurrentUserProgramConfiguration' + Linked to script(s): '.\Box-Administration.psm1' + + #> + + Param () + + # Stop All ChromeDriver and StandAlone Google Chrome Processes + Get-Process -ErrorAction SilentlyContinue | Select-Object -Property ProcessName, Id, CPU, Path -ErrorAction SilentlyContinue | Where-Object {$_.Path -like "$global:RessourcesFolderNamePath*"} -ErrorAction SilentlyContinue | Sort-Object -Property ProcessName -ErrorAction SilentlyContinue | Stop-Process -ErrorAction SilentlyContinue + $Current_Log_File = "$global:LogDateFolderNamePath\" + (Get-ChildItem -Path $global:LogDateFolderNamePath -Name "$global:LogFileName*" | Select-Object -Property PSChildName | Sort-Object PSChildName -Descending)[0].PSChildName + Write-Log -Type INFONO -Name 'Stop Program' -Message 'Detailed Log file is available here : ' + Write-Log -Type VALUE -Name 'Stop Program' -Message $Current_Log_File + Write-Log -Type WARNING -Name 'Stop Program' -Message "Don't forget to close the log files before to launch again the program" + Write-Log -Type WARNING -Name 'Stop Program' -Message "Else the program failed to start the next time" + Write-Log -Type INFO -Name 'Stop Program' -Message 'Program Closed' -NotDisplay + + # Remove Stored Credential + Remove-StoredCredential -Target 'AdminBBox' -ErrorAction Continue + Remove-StoredCredential -Target 'AdminFREEBox' -ErrorAction Continue + + # Remove / Unistal Modules + remove-module -Name BOX-Module -ErrorAction Continue + remove-module -Name TUN.CredentialManager -ErrorAction Continue + Uninstall-TUNCredentialManager -ModuleName 'TUN.CredentialManager' -ErrorAction Continue + + # Stop-Transcript Logs + Stop-Transcript -ErrorAction Continue + + #Remove All Files + #Remove-Item -Path $PSScriptRoot -Recurse -Force -ErrorAction Continue + Get-Childitem -Path $PSScriptRoot -Recurse | Remove-Item -Force -Confirm:$false + Write-Host "Uninstallation finished" -ForegroundColor Green + Write-Host "Please remove manually the root foler of the program : $PSScriptRoot" -ForegroundColor Yellow + Pause + Exit +} + #endregion Main functions use as part of '.\Box-Administration.ps1' script and 'Box-Module.psm1' module #region ChromeDriver @@ -3509,14 +3638,14 @@ Function Start-ChromeDriver { ) # Add path for ChromeDriver.exe to the environmental variable - $env:PATH += ";$global:ChromeDriverRessourcesFolderNamePath\$global:ChromeDriverFolder\$global:ChromeDriverDefaultSetupFileName" + $env:PATH += ";$global:ChromeDriverDefaultFolderNamePath\$global:ChromeDriverDefaultSetupFileName" # Add path for GoogleChrome.exe to the environmental variable #$Temp = $($ChromeBinaryPath.Replace("\$($ChromeBinaryPath.Split("\")[-1])",'')) #$env:PATH += ";$Temp" # Adding Selenium's .NET assembly (dll) to access it's classes in this PowerShell session - Add-Type -Path "$global:ChromeDriverRessourcesFolderNamePath\$global:ChromeDriverFolder\$global:ChromeDriverDefaultWebDriverDLLFileName" + Add-Type -Path "$global:ChromeDriverDefaultFolderNamePath\$global:ChromeDriverDefaultWebDriverDLLFileName" # Create new Chrome Drive Service $ChromeDriverService = [OpenQA.Selenium.Chrome.ChromeDriverService]::CreateDefaultService() @@ -3595,9 +3724,6 @@ Function Stop-ChromeDriver { Param () # Close all ChromeDriver instances openned - #$global:ChromeDriver.Close() - #$global:ChromeDriver.Dispose() - #$global:ChromeDriver.Quit() Get-Process -ErrorAction SilentlyContinue | Select-Object -Property ProcessName, Id, CPU, Path -ErrorAction SilentlyContinue | Where-Object {$_.Path -like "$global:RessourcesFolderNamePath*"} -ErrorAction SilentlyContinue | Sort-Object -Property ProcessName -ErrorAction SilentlyContinue | Stop-Process -ErrorAction SilentlyContinue } @@ -3633,26 +3759,6 @@ Function Update-ChromeDriver { Param () Try { - <# Navigate to the main Chrome Driver Page - Write-Log -Type INFO -Name 'Program initialisation - Update ChromeDriver' -Message "Access to download Page : $global:ChromeDriverDownloadHomeUrl" -NotDisplay - $global:ChromeDriver.Navigate().GoToURL("$global:ChromeDriverDownloadHomeUrl") - Start-Sleep -Seconds $global:SleepDefault - - # Get Content Page - Write-Log -Type INFO -Name 'Program initialisation - Update ChromeDriver' -Message 'Get HTML code page' -NotDisplay - $Html = $global:ChromeDriver.PageSource - Start-Sleep -Seconds $global:SleepDefault - - # Convert-html to text - Write-Log -Type INFO -Name 'Program initialisation - Update ChromeDriver' -Message 'Convert HTML code to txt' -NotDisplay - $Plaintxt = ConvertFrom-HtmlToText -Html $Html - Start-Sleep -Seconds $global:SleepDefault - - # Get Chrome Driver Version list available - Write-Log -Type INFO -Name 'Program initialisation - Update ChromeDriver' -Message 'Get last Chrome Driver version available on internet' -NotDisplay - $Temp = $Plaintxt -split '---' - $Version = $($Temp | Where-Object {$_ -notmatch 'Index of /NameLast modifiedSizeETag2.0' -and $_ -notmatch 'icons' -and $_ -notmatch 'LATEST_RELEASE'})[-1] - #> # Set Variables $UserDownloadFolderDefault = Get-ItemPropertyValue -Path $global:DownloadShellRegistryFolder -Name $global:DownloadShellRegistryFolderName @@ -3763,55 +3869,6 @@ Function Update-GoogleChrome { Param () Try { - <# Set Variables - #$GoogleChromeVersionShort = $global:GoogleChromeVersion.Split(".")[0] - $UserDownloadFolderDefault = Get-ItemPropertyValue -Path $global:DownloadShellRegistryFolder -Name $global:DownloadShellRegistryFolderName - $SourceFile = "$UserDownloadFolderDefault\*$global:GoogleChromeDownloadFileName" - $GoogleChromeDownloadHomeUrl = "$global:GoogleChromeDownloadHomeUrl/$Global:ChromeDriverLastStableVersion/win32/$global:GoogleChromeDownloadFileName" - - # Navigate to the main Chrome Driver Page - Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message "Access to download Page : $GoogleChromeDownloadHomeUrl" -NotDisplay - $global:ChromeDriver.Navigate().GoToURL("$GoogleChromeDownloadHomeUrl") - Start-Sleep -Seconds $global:SleepChromeDriverDownload - - Get Content Page - Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Get HTML code page' -NotDisplay - $Html = $global:ChromeDriver.PageSource - Start-Sleep -Seconds $global:SleepChromeDriverNavigation - - # Convert-html to text - Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Convert HTML code to txt' -NotDisplay - $Plaintxt = ConvertFrom-HtmlToText -Html $Html - Start-Sleep -Seconds $global:SleepChromeDriverNavigation - - $TimeOut = 10 - while ($Plaintxt -match "Loading ") { - - If ($TimeOut -eq '0') { - Write-Log -Type ERROR -Name 'Program initialisation - Update Google Chrome' -Message 'Loading Page Time Out' -NotDisplay - Stop-Program -Context System -ErrorAction Stop - } - - Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Waiting end of loading page content' -NotDisplay - Start-Sleep -Seconds $global:SleepChromeDriverLoading - $Html = $global:ChromeDriver.PageSource - $Plaintxt = ConvertFrom-HtmlToText -Html $Html - $TimeOut -- - } - - # Get Chrome Driver Version list available - Write-Log -Type INFO -Name 'Program initialisation - Update Google Chrome' -Message 'Get last Google Chrome version available with Chrome Driver installed version' -NotDisplay - $date = get-date -Format yyyy - $OsArchitecture = 'x' + $($(Get-ComputerInfo).OsArchitecture).Split(' ')[0] - $Version = $($($($($Plaintxt -split 'Get downloads') | Where-Object {$_ -match $OsArchitecture -and $_ -match 'Stable' -and $_ -match $GoogleChromeVersionShort})[0]) -split 'stable')[0] - $Channel = 'stable' - $Plateform = $($($($($($Plaintxt -split 'Get downloads') | Where-Object {$_ -match $OsArchitecture -and $_ -match 'Stable' -and $_ -match $GoogleChromeVersionShort})[0] -split 'stable')[-1]) -split $date)[0] - - Switch ($Plateform) { - - 'Windows (x86)' {$PlateformShort = 'win'} - 'Windows (x64)' {$PlateformShort = 'win64'} - }#> # Set Variables $UserDownloadFolderDefault = Get-ItemPropertyValue -Path $global:DownloadShellRegistryFolder -Name $global:DownloadShellRegistryFolderName @@ -4323,7 +4380,7 @@ Function Switch-OpenExportFolder { # Choose Open Export Folder : Y (Yes) or N (No) Write-Log -Type INFO -Name 'Program run - Choose Open Export Folder' -Message 'Start switch Open Export Folder' -NotDisplay - Write-Log -Type INFO -Name 'Program run - Choose Open Export Folder' -Message "Please choose if you want to open 'Export' folder (Can be changed later) : Y (Yes) or N (No)" -NotDisplay + Write-Log -Type INFO -Name 'Program run - Choose Open Export Folder' -Message "Please choose if you want to open 'Export' folder at each export (Can be changed later) : Y (Yes) or N (No)" -NotDisplay $global:OpenExportFolder = "" While ($global:OpenExportFolder[0] -notmatch $global:ValuesOpenExportFolder) { @@ -4553,7 +4610,7 @@ Function Export-toCSV { This is the folder path of the Export CSV folder .PARAMETER Exportfile - This the name of the export CSV File (Include file extention) + This is the name of the export CSV File (Include file extention) .EXAMPLE Export-toCSV -FormatedData "$FormatedData" -APIName "Device\log" -ExportCSVPath "C:\ExportFolder" -Exportfile "Device-log.csv" @@ -4628,7 +4685,7 @@ Function Export-toJSON { This is the folder path of the Export JSON folder .PARAMETER Exportfile - This the name of the export JSON File (Include file extention) + This is the name of the export JSON File (Include file extention) .EXAMPLE Export-toJSON -FormatedData "$FormatedData" -APIName "Device\log" -ExportJSONPath "C:\ExportFolder" -Exportfile "Device-log.json" @@ -4694,10 +4751,10 @@ Function Export-HTMLReport { To create HTML Report .PARAMETER DataReported - This the array data that display in the body html report + This is the array data that display in the body html report .PARAMETER ReportType - This the of the report. + This is the type of the report that are available Validated values : - Table - List @@ -5203,16 +5260,16 @@ function Export-BoxConfiguration { This is the list of API name that based to collect data .PARAMETER UrlRoot - This the root API url that API name are based to collect data + This is the root API url that API name are based to collect data .PARAMETER JSONFolderPath - This the folder path use for JSON export file + This is the folder path use for JSON export file .PARAMETER CSVFolderPath - This the folder path use for CSV export file + This is the folder path use for CSV export file .PARAMETER GitHubUrlSite - This the url of the Github Project + This is the url of the Github Project .PARAMETER JournalPath This is the path of the folder use to store Box Journal @@ -5346,13 +5403,13 @@ function Export-BoxConfigTestingProgram { This is the list of API name that based to collect data .PARAMETER UrlRoot - This the root API url that API name are based to collect data + This is the root API url that API name are based to collect data .PARAMETER OutputFolder - This the folder path use for export files + This is the folder path use for export files .PARAMETER GitHubUrlSite - This the url of the Github Project + This is the url of the Github Project .PARAMETER JournalPath This is the path of the folder use to store Box Journal @@ -6755,6 +6812,33 @@ Function Set-BoxInformation { Function Get-ErrorCode { + <# + .SYNOPSIS + Get Error code and convert it to human readable + + .DESCRIPTION + Get Error code and convert it to human readable + + .PARAMETER Json + This the Json error code to convert + + .EXAMPLE + Get-ErrorCode -Json $JSON + + .INPUTS + [Array]$Json + This the Json error code to convert + + .OUTPUTS + [PSObject]$Array + + .NOTES + Author: @Zardrilokis => Tom78_91_45@yahoo.fr + linked to functions : '', '' + linked to script : '.\BBOX-Administration.psm1' + + #> + Param ( [Parameter(Mandatory=$True)] [Array]$Json @@ -6781,6 +6865,33 @@ Function Get-ErrorCode { Function Get-ErrorCodeTest { + <# + .SYNOPSIS + Get Error code and convert it to human readable + + .DESCRIPTION + Get Error code and convert it to human readable + + .PARAMETER Json + This the Json error code to convert + + .EXAMPLE + Get-ErrorCodeTest -Json $JSON + + .INPUTS + [Array]$Json + This the Json error code to convert + + .OUTPUTS + [PSObject]$Array + + .NOTES + Author: @Zardrilokis => Tom78_91_45@yahoo.fr + linked to functions : '', '' + linked to script : '.\BBOX-Administration.psm1' + + #> + Param ( [Parameter(Mandatory=$True)] [String]$UrlToGo @@ -7159,14 +7270,14 @@ Function Get-BackupList { # Check if Box Cloud Synchronisation Service is Active and if user allow it Else { - $APIName = 'usersave' - $UrlToGo = $UrlToGo.Replace('configs',$APIName) + $APIName = 'usersave' + $UrlToGo = $UrlToGo.Replace('configs',$APIName) $CloudSynchronisationState = Get-BoxInformation -UrlToGo $UrlToGo - $Enable = $(Get-State -State $CloudSynchronisationState.$APIName.enable) - $Status = $(Get-Status -Status $CloudSynchronisationState.$APIName.status) - $Authorized = $(Get-YesNoAsk -YesNoAsk $CloudSynchronisationState.$APIName.authorized) - $Datelastsave = $(Edit-Date -Date $CloudSynchronisationState.$APIName.datelastsave) - $Datelastrestore = $(Edit-Date -Date $CloudSynchronisationState.$APIName.datelastrestore) + $Enable = $(Get-State -State $CloudSynchronisationState.$APIName.enable) + $Status = $(Get-Status -Status $CloudSynchronisationState.$APIName.status) + $Authorized = $(Get-YesNoAsk -YesNoAsk $CloudSynchronisationState.$APIName.authorized) + $Datelastsave = $(Edit-Date -Date $CloudSynchronisationState.$APIName.datelastsave) + $Datelastrestore = $(Edit-Date -Date $CloudSynchronisationState.$APIName.datelastrestore) If ([string]::IsNullOrEmpty($Datelastrestore)) {$Datelastrestore = "Never"} Write-Log -Type WARNING -Name 'Program run - Get Box Configuration Save' -Message 'No local backups were found' @@ -12486,7 +12597,6 @@ Function Get-WANAutowanProfiles { Return $Array } - Function Get-WANDiags { Param ( diff --git a/README.md b/README.md deleted file mode 100644 index eff634a..0000000 --- a/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# BBOX-Administration-Powershell - -This is my first shared programm on Github :) -So I would ask you to be indulgent with the way it has been developed. -I remain however interested in your constructive comments to help me improve it. - -This Tool is based and developed in PowerShell to get BBOX information. -It is only avalaible in english. -It can be used only with a Bouygues Telecom (BYTEL) router. -I can't test this program with all BYTEL routers. -So please find below all router and API version and firmware i can tested on my side : - -https://github.com/Zardrilokis/BBOX-Administration-Powershell/blob/main/Ressources/TestedEnvironnement.csv - -What composed this program ? - -This program use : - -End version 2.3 : -- API rest developed by Bouygues Télécom (https://api.bbox.fr/doc/apirouter/index.html) -- Microsoft Powershell in version 5.1.xxxxx.xxxx -- Powershell web request with Chrome Driver Service (https://chromedriver.chromium.org) -- Custom Powershell Module - -Since version 2.4 : -- Microsoft Powershell in version 7.0.xxxxx.xxxx -- Powershell Module : https://github.com/echalone/PowerShell_Credential_Manager (More Secure) - -For the moment, All versions can only : -- GET -- DOWNLOAD - -In the future, you will do these actions : -- GET -- PUT -- POST -- DELETE -- DOWNLOAD - -In summary, Collect, Modify, Remove, BBOX information using Bytel API Web request, with PowerShell script. - -How to use ? - -It is very simple ! - -1) Dowload all files as zip file : https://github.com/Zardrilokis/BBOX-Administration-Powershell/archive/main.zip -2) Unzip archive. -3) Open a powershell console -4) Enter the command line : cd "this is the path where files are unziped" -5) Run the script with the command line : .\BBOX-Administration.ps1 -6) The script runs and checks some settings and ask you some informations. - -What actions are required by user ? - -- Enter his bbox password to allow the program to connect to the bbox web interface. -- Select the connexion type (Local/remotly). -- If remotly, enter external DNS and port number. -- Choose the action his wants the programm do. - -If the user wants to quit the program, he can use the "Cancel" button when program asking action or press "CTRL" + "break" keyboard keys if there is a while in the programm. - -Don't forget to have a look at : https://github.com/Zardrilokis/BBOX-Administration-Powershell/wiki - -Enjoy your first experience with this program :) diff --git a/Ressources/API-Summary.csv b/Ressources/API-Summary.csv deleted file mode 100644 index 31b70e2..0000000 --- a/Ressources/API-Summary.csv +++ /dev/null @@ -1,263 +0,0 @@ -Label;Function;Description;APIName;APIUrl;Action;LocalPermissions;RemotePermissions;Scope;Settings;Available;ReportType;ExportFile;BboxVersion -STOP-Program;Stop-Program;Stop / Quit Program;Stop_Program;Stop_Program;Quit;Computer;Computer;Program;No;Yes;List;Stop_Program;22.3.22 -EXPORT-BBoxConfigTP;Export-BBoxConfigTestingProgram;Export Full BBox Configuration Testing Program;Full_Testing_Program;Full_Testing_Program;Export;Computer;Computer;Program;No;Yes;List;Full_Testing_Program;22.3.22 -EXPORT-BBoxConfig;Export-BBoxConfiguration;Export Full BBox Configuration;Full;Full;Export;Computer;Computer;Program;No;Yes;List;Full;22.3.22 -REMOVE-FCLogs;Remove-FolderContent;Remove All files in folder : .\logs\*;logs;logs;Remove;Computer;Computer;Program;Yes;Yes;List;remove-logs;22.3.22 -REMOVE-FCExportCSV;Remove-FolderContent;Remove All files in folder : .\Export\CSV\*;Export\CSV;Export\CSV;Remove;Computer;Computer;Program;Yes;Yes;List;remove-csv;22.3.22 -REMOVE-FCExportJSON;Remove-FolderContent;Remove All files in folder : .\Export\JSON\*;Export\JSON;Export\JSON;Remove;Computer;Computer;Program;Yes;Yes;List;remove-Json;22.3.22 -REMOVE-FCJournal;Remove-FolderContent;Remove All files in folder : .\Journal\*;Journal;Journal;Remove;Computer;Computer;Program;Yes;Yes;List;remove-Journal;22.3.22 -REMOVE-FCJBC;Remove-FolderContent;Remove All files in folder : .\Json_Bbox_Config\*;Json_Bbox_Config;Json_Bbox_config;Remove;Computer;Computer;Program;Yes;Yes;List;remove-bbox-config;22.3.22 -REMOVE-FCReport;Remove-FolderContent;Remove All files in folder : .\Report\*;Report;Report;Remove;Computer;Computer;Program;Yes;Yes;List;remove-report;22.3.22 -SWITCH-DF;Switch-DisplayFormat;Switch Display Format;Switch_Display;Switch_Display;Switch;Computer;Computer;Program;Yes;Yes;HTML/Table/Out-Gridview;html-table-outgridview;22.3.22 -SWITCH-EF;Switch-ExportFormat;Switch Export Format;Switch_Export;Switch_Export;Switch;Computer;Computer;Program;Yes;Yes;CSV/JSON;csv-json;22.3.22 -SWITCH-OEF;Switch-OpenExportFolder;Switch Open Export Folder;Switch_Open_Export_Folder;Switch_Open_Export_Folder;Switch;Computer;Computer;Program;Yes;Yes;List;open-folder;22.3.22 -SWITCH-OHR;Switch-OpenHTMLReport;Switch Open HTML Report;Switch_Open_HTML_Report;Switch_Open_HTML_Report;Switch;Computer;Computer;Program;Yes;Yes;HTML;html;22.3.22 -REMOVE-BBoxC;Remove-BBoxCredential;Remove BBox Credential stored in Windows Credential Manager;Remove_BBox_Credential;Remove_BBox_Credential;Remove;Computer;Computer;Program;Yes;Yes;List;remove-credential;22.3.22 -SHOW-BBoxC;Show-BBoxCredential;Show BBox Credential stored in Windows Credential Manager;Show_BBox_Credential;Show_BBox_Credential;Show;Computer;Computer;Program;Yes;Yes;List;show-credential;22.3.22 -ADD-BBoxC;Add-BBoxCredential;Add BBox Credential in Windows Credential Manager;Add_BBox_Credential;Add_BBox_Credential;Add;Computer;Computer;Program;Yes;Yes;List;add-credential;22.3.22 -Reset-CUPC;Reset-CurrentUserProgramConfiguration;Reset Current User Program Configuration;Reset_Current_User_Program_Configuration;Reset_Current_User_Program_Configuration;Reset;Computer;Computer;Program;Yes;Yes;List;reset-current-user-program-configuration;22.3.22 -GET-BBoxJournal;Get-BBoxJournal;Download BBox Journal (Available in bbox web interface);log.html;https://192.168.1.254/log.html;Download;Private;Private;device-read;No;Yes;Table;Journal;22.3.22 -GET-AIRTIESL;Get-AirtiesLANmode;Get AIRTIES LAN mode Information;airties/lanmode;https://192.168.1.254/api/v1/airties/lanmode;GET;public;Private;diag-read;No;Yes;List;airties-lanmode;22.3.22 -GET-AIRTIESZ;Get-AirtiesZerotouch;Get AIRTIES Zero Touch Information;airties/zerotouch;https://192.168.1.254/api/v1/airties/zerotouch;GET;public;Private;diag-read;No;No;list;airties-zerotouch;22.3.22 -GET-ANALYTICSJS;Get-ANALYTICSJS;Get Bouygues Telecom Remote Connexion Page information;analytics.js;https://192.168.1.254/api/v1/analytics.js;GET;public;Private;lan-read;No;No;$null;analytics;22.3.22 -GET-APIRM;Get-APIRessourcesMap;Get API Ressources List Map Information;map;https://192.168.1.254/api/v1/map;GET;private;Private;lan-read;No;Yes;Table;map;22.3.22 -GET-CONFIGSL;Get-BackupList;Get BACKUP List Information;configs;https://192.168.1.254/api/v1/configs;GET;public;Private;backup-read;No;Yes;Table;configs;22.3.22 -GET-CPL;Get-CPL;Get CPL Configuration Information;cpl;https://192.168.1.254/api/v1/cpl;GET;public;Private;cpl-read;No;Yes;List;cpl;22.3.22 -GET-CPLDL;Get-CPLDeviceList;Get CPL Devices List Information;cpl;https://192.168.1.254/api/v1/cpl;GET;public;Private;cpl-read;No;Yes;Table;cpl-devices-list;22.3.22 -GET-DEVICE;Get-Device;Get DEVICE Global Information;device;https://192.168.1.254/api/v1/device;GET;public;Private;device-read;No;Yes;List;device;22.3.22 -GET-DEVICEC;Get-DeviceCPU;Get DEVICE CPU Information;device/cpu;https://192.168.1.254/api/v1/device/cpu;GET;public;Private;device-read;No;Yes;List;device-cpu;22.3.22 -GET-DEVICELOG;Get-DeviceLog;Get DEVICE Log Information (Only Last 1000 Events);device/log;https://192.168.1.254/api/v1/device/log;GET;private;Private;device-read;No;Yes;Table;device-log1000;22.3.22 -GET-DEVICELOGID;Get-DeviceLogID;Get DEVICE Log Information by page;device/log;https://192.168.1.254/api/v1/device/log/{ID};GET;private;Private;device-read;No;No;Table;device-log-page;22.3.22 -GET-DEVICEFLOG;Get-DeviceFullLog;Get DEVICE Full Log Information (All Events);device/log;https://192.168.1.254/api/v1/device/log;GET;private;Private;device-read;No;Yes;Table;device-log-standard;22.3.22 -GET-DEVICEFTLOG;Get-DeviceFullTechnicalLog;Get DEVICE Full Log Technical Information (All Events);device/log;https://192.168.1.254/api/v1/device/log;GET;private;Private;device-read;No;Yes;Table;device-log-technic;22.3.22 -GET-DEVICECHLOG;Get-DeviceConnectionHistoryLog;Get DEVICE Full Log Devices Connection History;device/log;https://192.168.1.254/api/v1/device/log;GET;private;Private;device-read;No;Yes;Table;device-log-connexion;22.3.23 -GET-DEVICECHLOGID;Get-DeviceConnectionHistoryLogID;Get DEVICE Full Log Devices Connection History by ID;device/log;https://192.168.1.254/api/v1/device/log;GET;private;Private;device-read;No;Yes;Table;device-log-connexion-id;22.3.23 -GET-DEVICELED;Get-DeviceLED;Get DEVICE LED Information;device/led;https://192.168.1.254/api/v1/device/led;GET;public;Private;device-read;No;Yes;List;device-led;22.3.22 -GET-DEVICEM;Get-DeviceMemory;Get DEVICE Memory Information;device/mem;https://192.168.1.254/api/v1/device/mem;GET;public;Private;device-read;No;Yes;List;device-mem;22.3.22 -GET-DEVICES;Get-DeviceSummary;Get DEVICE Main Information;device/summary;https://192.168.1.254/api/v1/device/summary;GET;public;Private;device-read;No;Yes;List;device-summary;22.3.22 -GET-DEVICET;Get-DeviceToken;Get DEVICE Token Information;device/token;https://192.168.1.254/api/v1/device/token;GET;private;Private;any;No;Yes;List;device-token;22.3.22 -GET-DEVICEU;Get-DeviceUpgrade;Get DEVICE Upgrade Information;device/upgrade;https://192.168.1.254/api/v1/device/upgrade;GET;private;Private;bboxdebug;No;No;$null;device-upgrade;22.3.22 -GET-DEVICEUSBD;Get-DeviceUSBDevices;Get DEVICE USB Devices Information;device/usb;https://192.168.1.254/api/v1/device/usb;GET;public;Private;device-read;No;Yes;Table;device-usb;22.3.22 -GET-DEVICEUSBP;Get-DeviceUSBPrinter;Get DEVICE USB Printer Information;device/printer;https://192.168.1.254/api/v1/device/printer;GET;public;Private;device-read;No;Yes;Table;device-printer;22.3.22 -GET-DHCP;Get-DHCP;Get DHCP Configuration Information;dhcp;https://192.168.1.254/api/v1/dhcp;GET;public;Private;dhcp-read;No;Yes;List;dhcp;22.3.22 -GET-DHCPAO;Get-DHCPActiveOptions;Get DHCP Active Options Configuration Information;dhcp/options;https://192.168.1.254/api/v1/dhcp/options;GET;public;Private;dhcp-read;No;Yes;Table;dhcp-options-active;22.3.22 -GET-DHCPO;Get-DHCPOptions;Get DHCP Options Information;dhcp/options;https://192.168.1.254/api/v1/dhcp/options;GET;public;Private;dhcp-read;No;Yes;Table;dhcp-options;22.3.22 -GET-DHCPOID;Get-DHCPOptionsID;Get DHCP Options Information by ID;dhcp/options;https://192.168.1.254/api/v1/dhcp/options/{ID};GET;public;Private;dhcp-read;No;Yes;List;dhcp-options-id;22.3.22 -GET-DHCPC;Get-DHCPClients;Get DHCP Client Configuration Information;dhcp/clients;https://192.168.1.254/api/v1/dhcp/clients;GET;public;Private;dhcp-read;No;Yes;Table;dhcp-clients;22.3.22 -GET-DHCPCID;Get-DHCPClientsID;Get DHCP Clients Configuration Information by ID;dhcp/clients;https://192.168.1.254/api/v1/dhcp/clients/{ID};GET;public;Private;dhcp-read;No;Yes;List;dhcp-clients-id;22.3.22 -GET-DHCPSTBO;Get-DHCPSTBOptions;Get DHCP STB Options Information;dhcp/stb/options;https://192.168.1.254/api/v1/dhcp/stb/options;GET;private;Private;dhcp-read;No;Yes;Table;dhcp-stb-options;22.3.22 -GET-DHCPv6O;Get-DHCPv6Options;Get DHCP V6 Options Information;dhcp6/options;https://192.168.1.254/api/v1/dhcp6/options;GET;public;Private;dhcp-read;No;Yes;Table;dhcp6-options;22.3.22 -GET-DHCPv6PFD;Get-DHCPv6PrefixDelegation;Get-DHCP V6 Prefix Delegation Configuration Information;dhcp6/prefixdelegation;https://192.168.1.254/api/v1/dhcp6/prefixdelegation;GET;public;Private;dhcp-read;No;Yes;List;dhcp6-prefixdelegation;22.3.22 -GET-DNSS;Get-DNSStats;Get DNS Stats Information;dns/stats;https://192.168.1.254/api/v1/dns/stats;GET;public;Private;lan-read;No;Yes;List;dns-stats;22.3.22 -GET-DYNDNS;Get-DYNDNS;Get DYNDNS Configuration Information;dyndns;https://192.168.1.254/api/v1/dyndns;GET;private;Private;dyndns-read;No;Yes;List;dyndns-config;22.3.22 -GET-DYNDNSPL;Get-DYNDNSProviderList;Get DYNDNS Provider List Configuration Information;dyndns;https://192.168.1.254/api/v1/dyndns;GET;private;Private;dyndns-read;No;Yes;Table;dyndns-provider;22.3.22 -GET-DYNDNSC;Get-DYNDNSClient;Get DYNDNS Client list Configuration Information;dyndns;https://192.168.1.254/api/v1/dyndns;GET;private;Private;dyndns-read;No;Yes;Table;dyndns-client;22.3.22 -GET-DYNDNSCID;Get-DYNDNSClientID;Get DYNDNS Client Configuration Information by ID;dyndns;https://192.168.1.254/api/v1/dyndns/{id};GET;private;Private;dyndns-read;No;Yes;List;dyndns-client-id;22.3.22 -GET-ErrorCodeTest;Get-ErrorCodeTest;Error Code : Unauthorized;401;https://192.168.1.254/api/v1/401;GET;private;Private;host-read;No;Yes;List;error-401;22.3.22 -GET-ErrorCodeTest;Get-ErrorCodeTest;Error Code : Operation not found;404;https://192.168.1.254/api/v1/404;GET;private;Private;host-read;No;Yes;List;error-404;22.3.22 -GET-FIREWALL;Get-FIREWALL;Get FIREWALL Configuration Information;firewall;https://192.168.1.254/api/v1/firewall;GET;private;Private;firewall-read;No;Yes;List;firewall;22.3.22 -GET-FIREWALLGM;Get-FIREWALLGamerMode;Get FIREWALL Gamer Mode Information;firewall/gamermode;https://192.168.1.254/api/v1/firewall/gamermode;GET;private;Private;firewall-read;No;Yes;List;firewall-gamermode;22.3.22 -GET-FIREWALLPR;Get-FIREWALLPingResponder;Get FIREWALL Ping Responder Configuration Information;firewall/pingresponder;https://192.168.1.254/api/v1/firewall/pingresponder;GET;public;Private;firewall-read;No;Yes;List;firewall-pingresponder;22.3.22 -GET-FIREWALLR;Get-FIREWALLRules;Get FIREWALL Rules Information;firewall/rules;https://192.168.1.254/api/v1/firewall/rules;GET;private;Private;firewall-read;No;Yes;Table;firewall-rules;22.3.22 -GET-FIREWALLRID;Get-FIREWALLRulesID;Get FIREWALL Rules Information by ID;firewall/rules;https://192.168.1.254/api/v1/firewall/rules/{ID};GET;private;Private;firewall-read;No;Yes;List;firewall-rules-id;22.3.22 -GET-FIREWALLv6L;Get-FIREWALLv6Level;Get FIREWALL V6 Level;firewallv6/level;https://192.168.1.254/api/v1/firewallv6/level;GET;private;Private;firewall-read;No;Yes;List;firewallv6-level;22.3.22 -GET-FIREWALLv6R;Get-FIREWALLv6Rules;Get FIREWALL V6 Rules Information;firewallv6/rules;https://192.168.1.254/api/v1/firewallv6/rules;GET;private;Private;firewall-read;No;Yes;Table;firewallv6-rules;22.3.22 -GET-FIREWALLv6RID;Get-FIREWALLv6RulesID;Get FIREWALL V6 Rules Information by ID;firewallv6/rules;https://192.168.1.254/api/v1/firewallv6/rules/{id};GET;private;Private;firewall-read;No;Yes;List;firewallv6-rules-id;22.3.22 -GET-GRAPHSID;Get-GRAPHSID;Get GRAPHS Configuration Information by ID;graphs;https://192.168.1.254/api/v1/graphs/{ID};GET;public;Private;lan-read;No;No;List;graphs;22.3.22 -GET-HOSTS;Get-HOSTS;Get HOSTS List Information;hosts;https://192.168.1.254/api/v1/hosts;GET;public;Private;host-read;No;Yes;Table;hosts;22.3.22 -GET-HOSTSID;Get-HOSTID;Get HOSTS List Information by ID;hosts;https://192.168.1.254/api/v1/hosts/{ID};GET;public;Private;host-read;No;Yes;List;hosts-id;22.3.22 -GET-HOSTSL;Get-HOSTSLite;Get HOSTS Lite Information;hosts/lite;https://192.168.1.254/api/v1/hosts/lite;GET;public;Private;host-read;No;Yes;Table;hosts-lite;22.3.22 -GET-HOSTSME;Get-HOSTSMEE;Get MY HOST Information;hosts/me;https://192.168.1.254/api/v1/hosts/me;GET;public;Private;host-read;No;Yes;List;hosts-me;22.3.22 -GET-HOSTSP;Get-HOSTSPAUTH;Get HOSTS PAUTH Information;hosts/pauth;https://192.168.1.254/api/v1/hosts/pauth;GET;public;Private;host-read;No;Yes;Table;hosts-pauth;22.3.22 -GET-IPTV;Get-IPTV;Get IPTV Configuration Information;iptv;https://192.168.1.254/api/v1/iptv;GET;private;Private;diag-read;No;Yes;Table;iptv;22.3.22 -GET-IPTVD;Get-IPTVDiags;Get IPTV Diags Information;iptv/diags;https://192.168.1.254/api/v1/iptv/diags;GET;private;Private;diag-read;No;Yes;List;iptv-diags;22.3.22 -GET-LANA;Get-LANAlerts;Get LAN User Alerts Information;alerts;https://192.168.1.254/api/v1/alerts;GET;public;Private;alert-read;No;Yes;Table;alerts;22.3.22 -GET-LANIP;Get-LANIP;Get LAN IP Configuration Information;lan/ip;https://192.168.1.254/api/v1/lan/ip;GET;public;Private;lan-read;No;Yes;List;lan-ip;22.3.22 -GET-LANS;Get-LANIPStats;Get LAN Stats Information;lan/stats;https://192.168.1.254/api/v1/lan/stats;GET;public;Private;lan-read;No;Yes;List;lan-stats;22.3.22 -GET-LEGACYINFO;Get-LEGACYINFO;Get LEGACY Information;legacy/_info.xml;https://192.168.1.254/legacy/_info.xml;GET;public;Private;lan-read;No;No;$null;legacy-info;22.3.22 -GET-NATDMZ;Get-NATDMZ;Get NAT DMZ Configuration Information;nat/dmz;https://192.168.1.254/api/v1/nat/dmz;GET;public;Private;nat-read;No;Yes;List;nat-dmz;22.3.22 -GET-NAT;Get-NAT;Get NAT Configuration Information;nat/rules;https://192.168.1.254/api/v1/nat/rules;GET;public;Private;nat-read;No;Yes;List;nat-rules-config;22.3.22 -GET-NATR;Get-NATRules;Get NAT Rules Information;nat/rules;https://192.168.1.254/api/v1/nat/rules;GET;public;Private;nat-read;No;Yes;Table;nat-rules;22.3.22 -GET-NATRID;Get-NATRulesID;Get NAT Rules Information by ID;nat/rules;https://192.168.1.254/api/v1/nat/rules/{id};GET;public;Private;nat-read;No;Yes;List;nat-rules-id;22.3.22 -GET-NOTIFICATION;Get-NOTIFICATIONConfig;Get NOTIFICATION Configuration Information;notification;https://192.168.1.254/api/v1/notification;GET;private;Private;notif-read;No;Yes;List;notification-Config;22.3.22 -GET-NOTIFICATIONCA;Get-NOTIFICATIONAlerts;Get NOTIFICATION Configuration Alerts List Information;notification/alerts;https://192.168.1.254/api/v1/notification;GET;private;Private;notif-read;No;Yes;Table;notification-Config-alerts;22.3.22 -GET-NOTIFICATIONCC;Get-NOTIFICATIONContacts;Get NOTIFICATION Configuration Contacts List Information;notification/contacts;https://192.168.1.254/api/v1/notification;GET;private;Private;notif-read;No;Yes;Table;notification-Config-contacts;22.3.22 -GET-NOTIFICATIONCE;Get-NOTIFICATIONEvents;Get NOTIFICATION Configuration Events List Information;notification/events;https://192.168.1.254/api/v1/notification;GET;private;Private;notif-read;No;Yes;Table;notification-Config-events;22.3.22 -GET-NOTIFICATIONA;Get-NOTIFICATIONAlerts;Get NOTIFICATION Alerts List Information;notification/alerts;https://192.168.1.254/api/v1/notification/alerts;GET;private;Private;notif-read;No;Yes;Table;notification-alerts;22.3.22 -GET-NOTIFICATIONC;Get-NOTIFICATIONContacts;Get NOTIFICATION Contacts Information;notification/contacts;https://192.168.1.254/api/v1/notification/contacts;GET;private;Private;notif-read;No;Yes;Table;notification-contacts;22.3.22 -GET-NOTIFICATIONE;Get-NOTIFICATIONEvents;Get NOTIFICATION Events Information;notification/events;https://192.168.1.254/api/v1/notification/events;GET;private;Private;notif-read;No;Yes;Table;notification-events;22.3.22 -GET-OAUTHA;Get-OAUTHAuthorize;Get OAUTH Authorize Information;oauth/authorize;https://192.168.1.254/api/v1/oauth/authorize;GET;public;Private;any;No;No;List;oauth-authorize;22.3.22 -GET-OQCBUTTONID;Get-OQCBUTTONID;Get BBOX BUTTON Information;oqc/button;https://192.168.1.254/api/v1/oqc/button;GET;private;Private;device-read;No;No;$null;oqc-button;22.3.22 -GET-PARENTALCONTROL;Get-PARENTALCONTROL;Get PARENTAL CONTROL Configuration Information;parentalcontrol;https://192.168.1.254/api/v1/parentalcontrol;GET;private;Private;parental-read;No;Yes;List;parentalcontrol;22.3.22 -GET-PARENTALCONTROLS;Get-PARENTALCONTROLScheduler;Get PARENTAL CONTROL Scheduler Configuration Information;parentalcontrol/scheduler;https://192.168.1.254/api/v1/parentalcontrol/scheduler;GET;private;Private;parental-read;No;Yes;list;parentalcontrol-scheduler;22.3.22 -GET-PARENTALCONTROLSR;Get-PARENTALCONTROLSchedulerRules;Get PARENTAL CONTROL Scheduler Rules Configuration Information;parentalcontrol/scheduler;https://192.168.1.254/api/v1/parentalcontrol/scheduler;GET;private;Private;parental-read;No;Yes;Table;parentalcontrol-scheduler-rules;22.3.22 -GET-PASSRECOVERV;Get-PasswordRecoveryVerify;Get Password Recovery Verify Inofrmation;password-recovery/verify;https://192.168.1.254/api/v1/password-recovery/verify;GET;public;None;auth-write;No;Yes;List;password-recovery-verify;22.3.22 -GET-PROFILEC;Get-PROFILEConsumption;Get PROFIL Consumption Information;profile/consumption;https://192.168.1.254/api/v1/profile/consumption;GET;private;Private;profile-read;No;Yes;List;profile-consumption;22.3.22 -GET-REMOTEPWOL;Get-REMOTEProxyWOL;Get REMOTE Proxy WOL Information;remote/proxywol;https://192.168.1.254/api/v1/remote/proxywol;GET;private;Private;remote;No;Yes;List;remote-proxywol;22.3.22 -GET-SERVICES;Get-SERVICES;Get SERVICES Configuration Information;services;https://192.168.1.254/api/v1/services;GET;public;Private;lan-read;No;Yes;Table;services;22.3.22 -GET-SUMMARY;Get-SUMMARY;Get SUMMARY Configuration Information;summary;https://192.168.1.254/api/v1/summary;GET;public;Private;lan-read;No;Yes;List;summary;22.3.22 -GET-SPEEDTESTC;GET-SPEEDTESTContext;Get Speedtest Context Configuration Information;speedtest/context;https://192.168.1.254/api/v1/speedtest/context;GET;public;Private;device-read;No;No;List;SPEEDTEST-Context;22.3.22 -GET-UPNPIGD;Get-UPNPIGD;Get UPNP IGD Configuration Information;upnp/igd;https://192.168.1.254/api/v1/upnp/igd;GET;public;Private;igd-read;No;Yes;List;upnp-igd;22.3.22 -GET-UPNPIGDR;Get-UPNPIGDRules;Get UPNP IGD Rules Configuration Information;upnp/igd/rules;https://192.168.1.254/api/v1/upnp/igd/rules;GET;public;Private;igd-read;No;Yes;Table;upnp-igd-rules;22.3.22 -GET-USBS;Get-USBStorage;Get USB Storage Configuration Information;usb/storage;https://192.168.1.254/api/v1/usb/storage;GET;private;Private;usb-read;No;Yes;Table;usb-storage;22.3.22 -GET-USERSAVE;Get-USERSAVE;Get USER SAVE Configuration Information;usersave;https://192.168.1.254/api/v1/usersave;GET;public;Private;backup-read;No;Yes;List;usersave;22.3.22 -GET-VOIP;Get-VOIP;Get VOIP Configuration Information;voip;https://192.168.1.254/api/v1/voip;GET;private;Private;voip-read;No;Yes;List;voip;22.3.22 -GET-VOIPCL;Get-VOIPCallLogLineX;Get-VOIP Last 5 Calls Log Information by line;voip/calllog;https://192.168.1.254/api/v1/voip/calllog/{ID};GET;private;Private;voip-read;No;Yes;Table;voip-calllog;22.3.22 -GET-VOIPD;Get-VOIPDiags;Get-VOIP Diags Information;voip/diag;https://192.168.1.254/api/v1/voip/diag;GET;private;Private;voip-read;No;Yes;Table;voip-diag;22.3.22 -GET-VOIPDH;Get-VOIPDiagHost;Get-VOIP Diags Host Information;voip/diag;https://192.168.1.254/api/v1/voip/diag;GET;private;Private;voip-read;No;Yes;Table;voip-diag-host;22.3.22 -GET-VOIPDU;Get-VOIPDiagUSB;Get-VOIP Diags USB Information;voip/diag;https://192.168.1.254/api/v1/voip/diag;GET;private;Private;voip-read;No;Yes;Table;voip-diag-usb;22.3.22 -GET-VOIPFCL;Get-VOIPFullcalllogLineX;Get-VOIP Full Call Log Information by line;voip/fullcalllog;https://192.168.1.254/api/v1/voip/fullcalllog/{ID};GET;private;Private;voip-write;No;Yes;Table;voip-fullcalllog;22.3.22 -GET-VOIPS;Get-VOIPScheduler;Get VOIP Scheduler Configuration Information;voip/scheduler;https://192.168.1.254/api/v1/voip/scheduler;GET;private;Private;voip-read;No;Yes;Table;voip-scheduler;22.3.22 -GET-VOIPSR;Get-VOIPSchedulerRules;Get VOIP Scheduler Rules Configuration Information;voip/scheduler;https://192.168.1.254/api/v1/voip/scheduler;GET;private;Private;voip-read;No;Yes;Table;voip-scheduler-rules;22.3.22 -GET-VOIPALN;Get-VOIPAllowedListNumber;Get VOIP Scheduler Allowed List Number Configuration Information;voip/scheduler/number;https://192.168.1.254/api/v1/voip/scheduler/number;GET;private;Private;voip-read;No;Yes;Table;voip-scheduler-number;22.3.22 -GET-WANA;Get-WANAutowan;Get WAN Autowan Configuration Information;wan/autowan;https://192.168.1.254/api/v1/wan/autowan;GET;public;Private;wan-read;No;Yes;List;wan-autowan;22.3.22 -GET-WAND;Get-WANDiags;Get WAN Diags Information;wan/diags;https://192.168.1.254/api/v1/wan/diags;GET;public;Private;diag-read;No;Yes;List;wan-diags;22.3.22 -GET-WANDS;Get-WANDiagsSessions;Get WAN DIAGS Sessions Configuration Information;wan/diags/sessions;https://192.168.1.254/api/v1/wan/diags/sessions;GET;private;Private;diag-read;No;Yes;List;wan-diags-sessions-config;22.3.22 -GET-WANDSHAS;Get-WANDiagsSummaryHostsActiveSessions;Get WAN DIAGS Active Summary Hosts Sessions Information;wan/diags/sessions;https://192.168.1.254/api/v1/wan/diags/sessions;GET;private;Private;diag-read;No;Yes;Table;wan-diags-sessions-host;22.3.22 -GET-WANDSID;Get-WANDiagsSessionsID;Get WAN DIAGS Sessions Configuration Information by Page;wan/diags/sessions;https://192.168.1.254/api/v1/wan/diags/sessions/{ID};GET;private;Private;diag-read;No;No;Table;wan-diags-sessions-id-page;22.3.22 -GET-WANDAAS;Get-WANDiagsAllActiveSessions;Get WAN DIAGS All Active Sessions Information;wan/diags/sessions;https://192.168.1.254/api/v1/wan/diags/sessions;GET;private;Private;diag-read;No;Yes;Table;wan-diags-sessions;22.3.22 -GET-WANDAASH;Get-WANDiagsAllActiveSessionsHost;Get WAN DIAGS All Active Sessions Information by Host;wan/diags/sessions;https://192.168.1.254/api/v1/wan/diags/sessions/{ID};GET;private;Private;diag-read;No;Yes;Table;wan-diags-sessions-id;22.3.22 -GET-WANFS;Get-WANFStats;Get WAN FTTH STATS Information;wan/ftth/stats;https://192.168.1.254/api/v1/wan/ftth/stats;GET;public;Private;wan-read;No;Yes;List;wan-ftth-stats;22.3.22 -GET-WANIP;Get-WANIP;Get WAN IP Configuration Information;wan/ip;https://192.168.1.254/api/v1/wan/ip;GET;public;Private;wan-read;No;Yes;List;wan-ip;22.3.22 -GET-WANIPS;Get-WANIPStats;Get WAN IP Stats Information;wan/ip/stats;https://192.168.1.254/api/v1/wan/ip/stats;GET;public;Private;wan-read;No;Yes;List;wan-ip-stats;22.3.22 -GET-WANXDSL;Get-WANXDSL;Get WAN XDSL Configuration Information;wan/xdsl;https://192.168.1.254/api/v1/wan/xdsl;GET;public;Private;wan-read;No;Yes;List;wan-xdsl;22.3.22 -GET-WANXDSLS;Get-WANXDSLStats;Get WAN XDSL Stats Information;wan/xdsl/stats;https://192.168.1.254/api/v1/wan/xdsl/stats;GET;public;Private;wan-read;No;Yes;List;wan-xdsl-stats;22.3.22 -GET-WANSFF;Get-WANSFF;Get WAN SFF Configuration Information;wan/sff;https://192.168.1.254/api/v1/wan/sff;GET;public;Private;wan-read;No;Yes;List;wan-sff;22.3.22 -GET-WIRELESS;Get-WIRELESS;Get WIRELESS Configuration Information;wireless;https://192.168.1.254/api/v1/wireless;GET;private;Private;wifi-read;No;Yes;List;wireless;22.3.22 -Get-WIRELESSSTD;Get-WIRELESSSTANDARD;Get WIRELESS Standard Norme Information;wireless;https://192.168.1.254/api/v1/wireless;GET;private;Private;wifi-read;No;Yes;Table;wireless-standard;22.3.22 -GET-WIRELESS24;Get-WIRELESS24;Get WIRELESS 2.4Ghz Configuration Information;wireless/24;https://192.168.1.254/api/v1/wireless/24;GET;private;Private;wifi-read;No;Yes;List;wireless-24;22.3.22 -GET-WIRELESS24S;Get-WIRELESS24Stats;Get WIRELESS 2.4Ghz Stats Information;wireless/24/stats;https://192.168.1.254/api/v1/wireless/24/stats;GET;private;Private;wifi-read;No;Yes;List;wireless-24-stats;22.3.22 -GET-WIRELESS5;Get-WIRELESS5;Get WIRELESS 5.2Ghz Configuration Information;wireless/5;https://192.168.1.254/api/v1/wireless/5;GET;private;Private;wifi-read;No;Yes;List;wireless-5;22.3.22 -GET-WIRELESS5S;Get-WIRELESS5Stats;Get WIRELESS 5.2Ghz Stats Information;wireless/5/stats;https://192.168.1.254/api/v1/wireless/5/stats;GET;private;Private;wifi-read;No;Yes;List;wireless-5-stats;22.3.22 -GET-WIRELESSACL;Get-WIRELESSACL;Get WIRELESS ACL Configuration Information;wireless/acl;https://192.168.1.254/api/v1/wireless/acl;GET;private;Private;wifi-read;No;Yes;List;wireless-acl;22.3.22 -GET-WIRELESSACLR;Get-WIRELESSACLRules;Get WIRELESS ACL Rules Configuration Information;wireless/acl;https://192.168.1.254/api/v1/wireless/acl;GET;private;Private;wifi-read;No;Yes;Table;wireless-acl-rules;22.3.22 -GET-WIRELESSACLRID;Get-WIRELESSACLRulesID;Get WIRELESS ACL Rules Configuration Information by ID;wireless/acl;https://192.168.1.254/api/v1/wireless/acl/{ID};GET;private;Private;wifi-read;No;Yes;List;wireless-acl-rules-id;22.3.22 -GET-WIRELESSFSM;Get-WIRELESSFastScanMe;Get WIRELESS Fast scan for my device;wireless/fastscan/me;https://192.168.1.254/api/v1/wireless/fastscan/me;GET;public;Private;wifi-read;No;No;List;wireless-fastscan-me;22.3.22 -GET-WIRELESSFBNH;Get-WIRELESSFrequencyNeighborhoodScan;Get WIRELESS 2.4Ghz Frequency Neighborhood Scan Information;wireless/24/neighborhood;https://192.168.1.254/api/v1/wireless/24/neighborhood;GET;private;Private;wifi-read;No;Yes;Table;wireless-24-neighborhood;22.3.22 -GET-WIRELESSFBNH;Get-WIRELESSFrequencyNeighborhoodScan;Get WIRELESS 5.2Ghz Frequency Neighborhood Scan Information;wireless/5/neighborhood;https://192.168.1.254/api/v1/wireless/5/neighborhood;GET;private;Private;wifi-read;No;Yes;Table;wireless-5-neighborhood;22.3.22 -GET-WIRELESSR;Get-WIRELESSRepeater;Get WIRELESS Repeater Configuration Information;wireless/repeater;https://192.168.1.254/api/v1/wireless/repeater;GET;private;Private;wifi-read;No;Yes;List;wireless-repeater;22.3.22 -GET-WIRELESSS;Get-WIRELESSScheduler;Get WIRELESS Scheduler Configuration Information;wireless/scheduler;https://192.168.1.254/api/v1/wireless/scheduler;GET;private;Private;wifi-read;No;Yes;List;wireless-scheduler;22.3.22 -GET-WIRELESSSR;Get-WIRELESSSchedulerRules;Get WIRELESS Scheduler Rules Configuration Information;wireless/scheduler;https://192.168.1.254/api/v1/wireless/scheduler;GET;private;Private;wifi-read;No;Yes;Table;wireless-scheduler-rules;22.3.22 -GET-WIRELESSVBSTB;GET-WIRELESSVideoBridgeSetTopBoxes;Get WIRELESS Video Bridge Boxes Configuration Information;wireless/videobridge;https://192.168.1.254/api/v1/wireless/videobridge;GET;private;Private;wifi-read;No;Yes;Table;wireless-video-bridge-boxes;22.3.22 -GET-WIRELESSVBR;GET-WIRELESSVideoBridgeRepeaters;Get WIRELESS Video Bridge Repeaters Configuration Information;wireless/videobridge;https://192.168.1.254/api/v1/wireless/videobridge;GET;private;Private;wifi-read;No;Yes;Table;wireless-video-bridge-repeaters;22.3.22 -GET-WIRELESSWPS;Get-WIRELESSWPS;Get WIRELESS WPS Configuration Information;wireless/wps;https://192.168.1.254/api/v1/wireless/wps;GET;public;Private;wifi-read;No;Yes;List;wireless-wps;22.3.22 -;;;airties/upgrade;https://192.168.1.254/api/v1/airties/upgrade;PUT;public;Private;diag-write;Yes;No;;; -;;;airties/remotemanager;https://192.168.1.254/api/v1/airties/remotemanager;PUT;public;Private;diag-write;Yes;No;;; -;;;airties/meshsteering;https://192.168.1.254/api/v1/airties/meshsteering;PUT;public;Private;diag-write;Yes;No;;; -;;;airties/bandsteering;https://192.168.1.254/api/v1/airties/bandsteering;PUT;public;Private;diag-write;Yes;No;;; -;;;airties/agent;https://192.168.1.254/api/v1/airties/agent;PUT;public;Private;diag-write;Yes;No;;; -;;;airties/cacs;https://192.168.1.254/api/v1/airties/cacs;PUT;public;Private;diag-write;Yes;No;;; -;;;airties/liveview;https://192.168.1.254/api/v1/airties/liveview;PUT;public;Private;diag-write;Yes;No;;; -;;;dhcp6/prefixdelegation;https://192.168.1.254/api/v1/dhcp6/prefixdelegation;POST;private;Private;dhcp-write;Yes;No;;; -;;;dhcp6/prefixdelegation;https://192.168.1.254/api/v1/dhcp6/prefixdelegation/{id};PUT;private;Private;dhcp-write;Yes;No;;; -;;;dhcp6/prefixdelegation;https://192.168.1.254/api/v1/dhcp6/prefixdelegation/{id};DELETE;private;Private;dhcp-write;Yes;No;;; -;;;dhcp6/options;https://192.168.1.254/api/v1/dhcp6/options;POST;private;Private;dhcp-write;Yes;No;;; -;;;dhcp6/options;https://192.168.1.254/api/v1/dhcp6/options/{id};PUT;private;Private;dhcp-write;Yes;No;;; -;;;dhcp6/options;https://192.168.1.254/api/v1/dhcp6/options/{id};DELETE;private;Private;dhcp-write;Yes;No;;; -;;;firewallv6/rules;https://192.168.1.254/api/v1/firewallv6/rules;POST;private;Private;firewall-write;Yes;No;;; -;;;firewallv6/rules/{id};https://192.168.1.254/api/v1/firewallv6/rules/{id};PUT;private;Private;firewall-write;Yes;No;;; -;;;firewallv6/level;https://192.168.1.254/api/v1/firewallv6/level;PUT;private;Private;firewall-write;Yes;No;;; -;;;hosts/{id};https://192.168.1.254/api/v1/hosts/{id};DELETE;private;Private;host-write;Yes;No;;; -;;;dhcp/options/{id};https://192.168.1.254/api/v1/dhcp/options/{id};DELETE;private;Private;dhcp-write;Yes;No;;; -;;;dhcp/clients/{id};https://192.168.1.254/api/v1/dhcp/clients/{id};DELETE;private;Private;dhcp-write;Yes;No;;; -;;;wireless/acl/rules/{id};https://192.168.1.254/api/v1/wireless/acl/rules/{id};DELETE;private;Private;wifi-write;Yes;No;;; -;;;wireless;https://192.168.1.254/api/v1/wireless;DELETE;private;Private;wifi-write;Yes;No;;; -;;;wireless/wps;https://192.168.1.254/api/v1/wireless/wps;DELETE;private;Private;wifi-write;Yes;No;;; -;;;nat/rules/{id};https://192.168.1.254/api/v1/nat/rules/{id};DELETE;private;Private;nat-write;Yes;No;;; -;;;firewall/rules/{id};https://192.168.1.254/api/v1/firewall/rules/{id};DELETE;private;Private;firewall-write;Yes;No;;; -;;;voip/dial/{id};https://192.168.1.254/api/v1/voip/dial/{id};DELETE;private;None;voip-write;Yes;No;;; -;;;voip/calllog/{id};https://192.168.1.254/api/v1/voip/calllog/{id};DELETE;private;Private;voip-write;Yes;No;;; -;;;voip/ringtest/{id};https://192.168.1.254/api/v1/voip/ringtest/{id};DELETE;private;Private;voip-write;Yes;No;;; -;;;voip/echotest/{id};https://192.168.1.254/api/v1/voip/echotest/{id};DELETE;private;Private;voip-write;Yes;No;;; -;;;voip/scheduler/number/{id};https://192.168.1.254/api/v1/voip/scheduler/number/{id};DELETE;private;Private;voip-write;Yes;No;;; -;;;dyndns/{id};https://192.168.1.254/api/v1/dyndns/{id};DELETE;private;Private;dyndns-write;Yes;No;;; -;;;alerts/{id};https://192.168.1.254/api/v1/alerts/{id};DELETE;private;Private;alert-write;Yes;No;;; -;;;parentalcontrol/unblock;https://192.168.1.254/api/v1/parentalcontrol/unblock;DELETE;private;Private;parental-write;Yes;No;;; -;;;configs/{id};https://192.168.1.254/api/v1/configs/{id};DELETE;private;None;backup-write;Yes;No;;; -;;;notification/contact/{id};https://192.168.1.254/api/v1/notification/contact/{id};DELETE;private;Private;notif-write;Yes;No;;; -;;;notification/alert/{id};https://192.168.1.254/api/v1/notification/alert/{id};DELETE;private;Private;notif-write;Yes;No;;; -;;;{id};https://192.168.1.254/api/v1/{id};OPTIONS;public;Private;lan-read;Yes;No;;; -;;;hosts/{id};https://192.168.1.254/api/v1/hosts/{id};POST;private;Private;host-write;Yes;No;;; -;;;dhcp/options;https://192.168.1.254/api/v1/dhcp/options;POST;private;Private;dhcp-write;Yes;No;;; -;;;dhcp/clients;https://192.168.1.254/api/v1/dhcp/clients;POST;private;Private;dhcp-write;Yes;No;;; -;;;wireless/acl/rules;https://192.168.1.254/api/v1/wireless/acl/rules;POST;private;Private;wifi-write;Yes;No;;; -;;;wireless/wps;https://192.168.1.254/api/v1/wireless/wps;POST;private;Private;wifi-write;Yes;No;;; -;;;wireless/scheduler;https://192.168.1.254/api/v1/wireless/scheduler;POST;private;Private;wifi-write;Yes;No;;; -;;;nat/rules;https://192.168.1.254/api/v1/nat/rules;POST;private;Private;nat-write;Yes;No;;; -;;;firewall/rules;https://192.168.1.254/api/v1/firewall/rules;POST;private;Private;firewall-write;Yes;No;;; -;;;voip/dial/{id};https://192.168.1.254/api/v1/voip/dial/{id};POST;private;None;voip-write;Yes;No;;; -;;;voip/ringtest/{id};https://192.168.1.254/api/v1/voip/ringtest/{id};POST;private;Private;voip-write;Yes;No;;; -;;;voip/echotest/{id};https://192.168.1.254/api/v1/voip/echotest/{id};POST;private;Private;voip-write;Yes;No;;; -;;;voip/scheduler;https://192.168.1.254/api/v1/voip/scheduler;POST;private;Private;voip-write;Yes;No;;; -;;;voip/scheduler/number;https://192.168.1.254/api/v1/voip/scheduler/number;POST;private;Private;voip-write;Yes;No;;; -;;;dyndns;https://192.168.1.254/api/v1/dyndns;POST;private;Private;dyndns-write;Yes;No;;; -;;;login;https://192.168.1.254/api/v1/login;POST;public;Private;any;Yes;No;;; -;;;logout;https://192.168.1.254/api/v1/logout;POST;public;Private;any;Yes;No;;; -;;;password-recovery;https://192.168.1.254/api/v1/password-recovery;POST;public;None;auth-write;Yes;No;;; -;;;change-password;https://192.168.1.254/api/v1/change-password;POST;private;None;auth-write;Yes;No;;; -;;;reset-password;https://192.168.1.254/api/v1/reset-password;POST;private;None;any;Yes;No;;; -;;;oauth/authorize;https://192.168.1.254/api/v1/oauth/authorize;POST;public;Private;any;Yes;No;;; -;;;oauth/token;https://192.168.1.254/api/v1/oauth/token;POST;public;Private;any;Yes;No;;; -;;;wan/diags;https://192.168.1.254/api/v1/wan/diags;POST;private;Private;diag-write;Yes;No;;; -;;;parentalcontrol/scheduler;https://192.168.1.254/api/v1/parentalcontrol/scheduler;POST;private;Private;parental-write;Yes;No;;; -;;;parentalcontrol/unblock;https://192.168.1.254/api/v1/parentalcontrol/unblock;POST;private;Private;parental-write;Yes;No;;; -;;;device/reboot;https://192.168.1.254/api/v1/device/reboot;POST;private;Private;reboot;Yes;No;;; -;;;device/factory;https://192.168.1.254/api/v1/device/factory;POST;private;None;factory;Yes;No;;; -;;;configs;https://192.168.1.254/api/v1/configs;POST;private;None;backup-write;Yes;No;;; -;;;configs/{id};https://192.168.1.254/api/v1/configs/{id};POST;private;None;backup-write;Yes;No;;; -;;;notification/contact;https://192.168.1.254/api/v1/notification/contact;POST;private;Private;notif-write;Yes;No;;; -;;;notification/alert;https://192.168.1.254/api/v1/notification/alert;POST;private;Private;notif-write;Yes;No;;; -;;;notification/test;https://192.168.1.254/api/v1/notification/test;POST;private;Private;notif-write;Yes;No;;; -;;;usersave;https://192.168.1.254/api/v1/usersave;POST;private;Private;backup-read;Yes;No;;; -;;;hosts/{id};https://192.168.1.254/api/v1/hosts/{id};PUT;private;Private;host-write;Yes;No;;; -;;;cpl;https://192.168.1.254/api/v1/cpl;PUT;private;Private;cpl-write;Yes;No;;; -;;;lan;https://192.168.1.254/api/v1/lan;PUT;private;Private;lan-write;Yes;No;;; -;;;lan/ip6;https://192.168.1.254/api/v1/lan/ip6;PUT;private;Private;lan-write;Yes;No;;; -;;;dhcp;https://192.168.1.254/api/v1/dhcp;PUT;private;Private;dhcp-write;Yes;No;;; -;;;dhcp/options/{id};https://192.168.1.254/api/v1/dhcp/options/{id};PUT;private;Private;dhcp-write;Yes;No;;; -;;;dhcp/clients/{id};https://192.168.1.254/api/v1/dhcp/clients/{id};PUT;private;Private;dhcp-write;Yes;No;;; -;;;wireless/acl;https://192.168.1.254/api/v1/wireless/acl;PUT;private;Private;wifi-write;Yes;No;;; -;;;wireless/acl/rules/{id};https://192.168.1.254/api/v1/wireless/acl/rules/{id};PUT;private;Private;wifi-write;Yes;No;;; -;;;wireless/24/neighborhood;https://192.168.1.254/api/v1/wireless/24/neighborhood;PUT;private;Private;wifi-write;Yes;No;;; -;;;wireless/5/neighborhood;https://192.168.1.254/api/v1/wireless/5/neighborhood;PUT;private;Private;wifi-write;Yes;No;;; -;;;wireless;https://192.168.1.254/api/v1/wireless;PUT;private;Private;wifi-write;Yes;No;;; -;;;wireless/scheduler;https://192.168.1.254/api/v1/wireless/scheduler;PUT;private;Private;wifi-write;Yes;No;;; -;;;wireless/cert/{id};https://192.168.1.254/api/v1/wireless/cert/{id};PUT;private;Private;wifi-write;Yes;No;;; -;;;wireless/{id};https://192.168.1.254/api/v1/wireless/{id};PUT;private;Private;wifi-write;Yes;No;;; -;;;nat/rules;https://192.168.1.254/api/v1/nat/rules;PUT;private;Private;nat-write;Yes;No;;; -;;;nat/rules/{id};https://192.168.1.254/api/v1/nat/rules/{id};PUT;private;Private;nat-write;Yes;No;;; -;;;nat/dmz;https://192.168.1.254/api/v1/nat/dmz;PUT;private;Private;nat-write;Yes;No;;; -;;;firewall/pingresponder;https://192.168.1.254/api/v1/firewall/pingresponder;PUT;private;Private;firewall-write;Yes;No;;; -;;;firewall;https://192.168.1.254/api/v1/firewall;PUT;private;Private;firewall-write;Yes;No;;; -;;;firewall/rules/{id};https://192.168.1.254/api/v1/firewall/rules/{id};PUT;private;Private;firewall-write;Yes;No;;; -;;;firewall/gamermode;https://192.168.1.254/api/v1/firewall/gamermode;PUT;private;Private;firewall-write;Yes;No;;; -;;;upnp/igd;https://192.168.1.254/api/v1/upnp/igd;PUT;private;Private;igd-write;Yes;No;;; -;;;voip/features/acr/{id};https://192.168.1.254/api/v1/voip/features/acr/{id};PUT;private;Private;voip-write;Yes;No;;; -;;;voip/blockanon/{id};https://192.168.1.254/api/v1/voip/blockanon/{id};PUT;private;Private;voip-write;Yes;No;;; -;;;voip/dial;https://192.168.1.254/api/v1/voip/dial;PUT;private;None;voip-write;Yes;No;;; -;;;voip/ringtest;https://192.168.1.254/api/v1/voip/ringtest;PUT;private;Private;voip-write;Yes;No;;; -;;;voip/echotest;https://192.168.1.254/api/v1/voip/echotest;PUT;private;Private;voip-write;Yes;No;;; -;;;voip/scheduler;https://192.168.1.254/api/v1/voip/scheduler;PUT;private;Private;voip-write;Yes;No;;; -;;;profile/account;https://192.168.1.254/api/v1/profile/account;PUT;private;Private;profile-write;Yes;No;;; -;;;dyndns;https://192.168.1.254/api/v1/dyndns;PUT;private;Private;dyndns-write;Yes;No;;; -;;;dyndns/{id};https://192.168.1.254/api/v1/dyndns/{id};PUT;private;Private;dyndns-write;Yes;No;;; -;;;login;https://192.168.1.254/api/v1/login;PUT;public;Private;any;Yes;No;;; -;;;remote/proxywol;https://192.168.1.254/api/v1/remote/proxywol;PUT;private;Private;remote;Yes;No;;; -;;;remote/admin;https://192.168.1.254/api/v1/remote/admin;PUT;private;Private;remote;Yes;No;;; -;;;parentalcontrol;https://192.168.1.254/api/v1/parentalcontrol;PUT;private;Private;parental-write;Yes;No;;; -;;;parentalcontrol/hosts;https://192.168.1.254/api/v1/parentalcontrol/hosts;PUT;private;Private;parental-write;Yes;No;;; -;;;device/usb/dlna;https://192.168.1.254/api/v1/device/usb/dlna;PUT;private;Private;device-write;Yes;No;;; -;;;device/usb/samba;https://192.168.1.254/api/v1/device/usb/samba;PUT;private;Private;device-write;Yes;No;;; -;;;device/usb/printer;https://192.168.1.254/api/v1/device/usb/printer;PUT;private;Private;device-write;Yes;No;;; -;;;device/usb/{id};https://192.168.1.254/api/v1/device/usb/{id};PUT;private;Private;device-write;Yes;No;;; -;;;device/optimization;https://192.168.1.254/api/v1/device/optimization;PUT;private;Private;device-write;Yes;No;;; -;;;device/support;https://192.168.1.254/api/v1/device/support;PUT;private;None;bboxdebug;Yes;No;;; -;;;device/display;https://192.168.1.254/api/v1/device/display;PUT;private;Private;device-read;Yes;No;;; -;;;iptv/diags;https://192.168.1.254/api/v1/iptv/diags;PUT;private;Private;diag-write;Yes;No;;; -;;;configs/{id};https://192.168.1.254/api/v1/configs/{id};PUT;private;None;backup-write;Yes;No;;; -;;;notification;https://192.168.1.254/api/v1/notification;PUT;private;Private;notif-write;Yes;No;;; -;;;notification/contact/{id};https://192.168.1.254/api/v1/notification/contact/{id};PUT;private;Private;notif-write;Yes;No;;; -;;;notification/alert/{id};https://192.168.1.254/api/v1/notification/alert/{id};PUT;private;Private;notif-write;Yes;No;;; -;;;device/upgrade;https://192.168.1.254/api/v1/device/upgrade;PUT;private;Private;bboxdebug;Yes;No;;; -;;;oqc/led/{id};https://192.168.1.254/api/v1/oqc/led/{id};PUT;private;Private;device-write;Yes;No;;; -;;;oqc/button/testmode;https://192.168.1.254/api/v1/oqc/button/testmode;PUT;private;Private;device-write;Yes;No;;; diff --git a/Ressources/Classeur1.xlsx b/Ressources/Classeur1.xlsx deleted file mode 100644 index ad6599e7d862c8cb33e40e55e4bd60dfa6cdfc1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12064 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 F^?!xvMpXa+ diff --git a/Ressources/Common-Functions.csv b/Ressources/Common-Functions.csv index bc640fc..80ca766 100644 --- a/Ressources/Common-Functions.csv +++ b/Ressources/Common-Functions.csv @@ -1,13 +1,14 @@ Label;Function;Description;APIName;APIUrl;Action;LocalPermissions;RemotePermissions;Scope;Settings;Available;ReportType;ExportFile;BoxVersion STOP-Program;Stop-Program;Stop / Quit Program;Stop_Program;Stop_Program;Quit;Computer;Computer;Program;No;Yes;List;stop_program;Custom +Uninstall-Program;Uninstall-Program;Uninstall Program;Uninstall_Program;Uninstall_Program;Quit;Computer;Computer;Program;No;Yes;List;uninstall_program;Custom +EXPORT-BoxConfigTP;Export-BoxConfigTestingProgram;Export Full Box Configuration Testing Program;Full_Testing_Program;Full_Testing_Program;Export;Computer;Computer;Program;No;Yes;List;full_testing_program;Custom +EXPORT-BoxConfig;Export-BoxConfiguration;Export Full Box Configuration;Full;Full;Export;Computer;Computer;Program;No;Yes;List;full;Custom +EXPORT-PFC;Export-ProgramFilesCount;Export Program Files Count;Export_Program_Files_Count;Export_Program_Files_Count;Export;Computer;Computer;Program;Yes;Yes;List;program-files-count;Custom EXPORT-MH;EXPORT-ModuleHelp;Export All Summary details that are written to the PowerShell module .\BOX-Module.psm1;Export-Module_Help;Export-Module_Help;Export;Computer;Computer;Program;No;Yes;Table;module_details;Custom EXPORT-MFS;Export-ModuleFunctions;Export All Functions Summary that are written to the PowerShell module .\BOX-Module.psm1;Export-Module_Functions_Summary;Export-Module_Functions_Summary;Export;Computer;Computer;Program;No;Yes;Table;module_functions_summary;Custom EXPORT-MFD;Export-ModuleFunctions;Export All Functions Details that are written to the PowerShell module .\BOX-Module.psm1;Export-Module_Functions_Details;Export-Module_Functions_Details;Export;Computer;Computer;Program;No;Yes;Table;module_functions_details;Custom EXPORT-MFSD;Export-ModuleFunctions;Export All Functions Summary and Details that are written to the PowerShell module .\BOX-Module.psm1;Export-Module_Functions_Summary_Details;Export-Module_Functions_Summary_Details;Export;Computer;Computer;Program;No;Yes;Table;module_functions_summary_details;Custom -EXPORT-BoxConfigTP;Export-BoxConfigTestingProgram;Export Full Box Configuration Testing Program;Full_Testing_Program;Full_Testing_Program;Export;Computer;Computer;Program;No;Yes;List;full_testing_program;Custom -EXPORT-BoxConfig;Export-BoxConfiguration;Export Full Box Configuration;Full;Full;Export;Computer;Computer;Program;No;Yes;List;full;Custom -EXPORT-PFC;Export-ProgramFilesCount;Export Program Files Count;Export_Program_Files_Count;Export_Program_Files_Count;Export;Computer;Computer;Program;Yes;Yes;List;program-files-count;Custom -REMOVE-FCAll;Remove-FolderContentAll;Remove All files in folders : logs\*,Export\CSV\*,Export\JSON\*,Journal\*,Json_Box_Config\*,Report\*;logs,Export\CSV,Export\JSON,Journal,Json_Box_Config,Report;logs,Export\CSV,Export\JSON,Journal,Json_Box_Config,Report;Remove;Computer;Computer;Program;Yes;Yes;List;remove-all-files;Custom +REMOVE-FCAll;Remove-FolderContentAll;Remove All files in folders : logs\*,Export\CSV\*,Export\JSON\*,Journal\*,Json_Box_Config\*,Report\*,Help\*;logs,Export\CSV,Export\JSON,Journal,Json_Box_Config,Report,\Help;logs,Export\CSV,Export\JSON,Journal,Json_Box_Config,Report;Remove;Computer;Computer;Program;Yes;Yes;List;remove-all-files;Custom REMOVE-FCLogs;Remove-FolderContent;Remove All files in folder : .\logs\*;Logs;Logs;Remove;Computer;Computer;Program;Yes;Yes;List;remove-logs;Custom REMOVE-FCExportCSV;Remove-FolderContent;Remove All files in folder : .\Export\CSV\*;Export\CSV;Export\CSV;Remove;Computer;Computer;Program;Yes;Yes;List;remove-csv;Custom REMOVE-FCExportJSON;Remove-FolderContent;Remove All files in folder : .\Export\JSON\*;Export\JSON;Export\JSON;Remove;Computer;Computer;Program;Yes;Yes;List;remove-Json;Custom @@ -15,8 +16,6 @@ REMOVE-FCJournal;Remove-FolderContent;Remove All files in folder : .\Journal\*;J REMOVE-FCJBC;Remove-FolderContent;Remove All files in folder : .\Json_Box_Config\*;Json_Box_Config;Json_Box_config;Remove;Computer;Computer;Program;Yes;Yes;List;remove-Box-config;Custom REMOVE-FCReport;Remove-FolderContent;Remove All files in folder : .\Report\*;Report;Report;Remove;Computer;Computer;Program;Yes;Yes;List;remove-report;Custom REMOVE-FCH;Remove-FolderContent;Remove All files in folder : .\Help\*;Help;Help;Remove;Computer;Computer;Program;Yes;Yes;List;remove-help;Custom -REMOVE-FCGCV;Remove-FolderContent;Remove All files in folder : .\Ressources\GoogleChrome\Default\*;Google_Chrome;Google_Chrome;Remove;Computer;Computer;Program;Yes;Yes;List;remove-google-chrome;Custom -REMOVE-FCCDV;Remove-FolderContent;Remove All files in folder : .\Ressources\ChromeDriver\Default\*;Chrome_Driver;Chrome_Driver;Remove;Computer;Computer;Program;Yes;Yes;List;remove-chrome-driver;Custom SWITCH-DF;Switch-DisplayFormat;Switch Display Format;Switch_Display;Switch_Display;Switch;Computer;Computer;Program;Yes;Yes;HTML/Table/Out-Gridview;html-table-outgridview;Custom SWITCH-EF;Switch-ExportFormat;Switch Export Format;Switch_Export;Switch_Export;Switch;Computer;Computer;Program;Yes;Yes;CSV/JSON;csv-json;Custom SWITCH-OEF;Switch-OpenExportFolder;Switch Open Export Folder;Switch_Open_Export_Folder;Switch_Open_Export_Folder;Switch;Computer;Computer;Program;Yes;Yes;List;open-folder;Custom @@ -25,4 +24,4 @@ SWITCH-RDN;Switch-ResolveDnsName;Switch Resolve Dns Name;Switch_Resolve_Dns_Name REMOVE-BoxC;Remove-BoxCredential;Remove Box Credential stored in Windows Credential Manager;Remove_Box_Credential;Remove_Box_Credential;Remove;Computer;Computer;Program;Yes;Yes;List;remove-credential;Custom SHOW-BoxC;Show-BoxCredential;Show Box Credential stored in Windows Credential Manager;Show_Box_Credential;Show_Box_Credential;Show;Computer;Computer;Program;Yes;Yes;List;show-credential;Custom ADD-BoxC;Add-BoxCredential;Add Box Credential in Windows Credential Manager;Add_Box_Credential;Add_Box_Credential;Add;Computer;Computer;Program;Yes;Yes;List;add-credential;Custom -Reset-CUPC;Reset-CurrentUserProgramConfiguration;Reset Current User Program Configuration;Reset_Current_User_Program_Configuration;Reset_Current_User_Program_Configuration;Reset;Computer;Computer;Program;Yes;Yes;List;reset-current-user-program-configuration;Custom +RESET-CUPC;Reset-CurrentUserProgramConfiguration;Reset Current User Program Configuration;Reset_Current_User_Program_Configuration;Reset_Current_User_Program_Configuration;Reset;Computer;Computer;Program;Yes;Yes;List;reset-current-user-program-configuration;Custom diff --git a/Ressources/Settings-Values.json b/Ressources/Settings-Values.json deleted file mode 100644 index 018bf9e..0000000 --- a/Ressources/Settings-Values.json +++ /dev/null @@ -1,1131 +0,0 @@ -{ - "Download": { - "Type": { - "bt": "Bittorrent download", - "ftp": "FTP download", - "http": "HTTP download", - "nzb": "Newsgroup download" - }, - "Status" : { - "stopped": "task is stopped, can be resumed by setting the status to downloading", - "queued": "task will start when a new download slot is available the queue position is stored in queue_pos attribute", - "starting": "task is preparing to start download", - "downloading": "task is downloading", - "stopping": "task is gracefully stopping", - "error": "there was a problem with the download, you can get an error code in the error field", - "done": "the download is over. For bt you can resume seeding setting the status to seeding if the ratio is not reached yet", - "retry": "You can set a task status to ‘retry’ to restart the download task." - "nzb" : { - "checking": "(only valid for nzb) download is over, the downloaded files are being checked using par2", - "repairing": "(only valid for nzb) download is over, the downloaded files are being repaired using par2", - "extracting": "(only valid for nzb) download is over, the downloaded files are being extracted", - "seeding": "(only valid for bt) download is over, the content is Change to being shared to other users. The task will automatically stop once the seed ratio has been reached" - } - }, - "Priority" : { - "low": "low", - "normal": "normal", - "high": "high" - }, - "Error" : { - "task_not_found": "No task was found with the given id", - "invalid_operation": "Attempt to perform an invalid operation", - "invalid_file": "Error with the download file (invalid format ?)", - "invalid_url": "URL is invalid", - "not_implemented": "Method not implemented", - "out_of_memory": "No more memory available to perform the requested action", - "invalid_task_type": "The task type is invalid", - "hibernating": "The downloader is hibernating", - "need_bt_stopped_done": "This action is only valid for Bittorrent task in stopped or done state", - "bt_tracker_not_found": "Attempt to access an invalid tracker object", - "too_many_tasks": "Too many tasks", - "invalid_address": "Invalid peer address", - "port_conflict": "Port conflict when setting config", - "invalid_priority": "Invalid priority", - "internal_error": "Internal error", - "ctx_file_error": "Failed to initialize task context file (need to check disk)", - "exists": "Same task already exists", - "port_outside_range": " Incoming port is not available for this customer (see ConnectionStatus ipv4_port_range)" - }, - "Task_TaskFile" : { - "Error" : { - "none": "No error", - "internal": "Internal error", - "disk_full": "The disk is full", - "unknown": "Unknown error", - "parse_error": "Parse error", - "http_301": "HTTP 301 error", - "http_400": "HTTP 400 error", - "http_401": "", - "http_402": "", - "http_403": "", - "http_404": "", - "http_405": "", - "http_406": "", - "http_407": "", - "http_408": "", - "http_409": "", - "http_410": "", - "http_411": "", - "http_412": "[ ... ]", - "http_413": "", - "http_414": "", - "http_415": "", - "http_416": "", - "http_417": "", - "http_422": "", - "http_423": "", - "http_424": "", - "http_425": "", - "http_426": "", - "http_427": "", - "http_428": "", - "http_429": "", - "http_430": "", - "http_431": "", - "http_4xx": "Other 4xx HTTP errors", - "http_500": "HTTP 500 error", - "http_501": "", - "http_502": "", - "http_503": "", - "http_504": "", - "http_505": "", - "http_506": "[ ... ]", - "http_507": "", - "http_508": "", - "http_509": "", - "http_510": "", - "http_511": "", - "http_5xx": "Other 5xx HTTP errors", - "http_redirections_exceeded": "Too many HTTP redirections", - "nzb_no_group": "Cannot find the requested group on server", - "nzb_not_found": "Article not fount on the server", - "nzb_invalid_crc": "Invalid article CRC", - "nzb_invalid_size": "Invalid article size", - "nzb_invalid_filename": "Invalid filename", - "nzb_open_failed": "Error opening", - "nzb_write_failed": "Error writing", - "nzb_missing_size": "Missing article size", - "nzb_decode_error": "Article decoding error", - "nzb_missing_segments": "Missing article segments", - "nzb_error": "Other nzb error", - "unknown_host": "Unknown host", - "timeout": "Timeout", - "bad_authentication": "Invalid credentials", - "connection_refused": "Remote host refused connection", - "nzb_authentication_required": "Nzb server need authentication", - "bt_tracker_error": "Unable to announce on tracker", - "bt_missing_files": "Missing torrent files", - "bt_file_error": "Error accessing torrent files", - "missing_ctx_file": "Error accessing task context file" - } - }, - "NzbConfigStatus": { - "status": { - "not_checked": "config has not been checked yet", - "checking": "test in progress", - "error": "config is invalid, see error", - "ok": "config is ok" - }, - "Error": { - "none": "test is ok", - "nzb_authentication_required": "authentication is required", - "bad_authentication": "incorrect credentials", - "connection_refused": "unable to connect to NNTP server", - } - }, - "Files": { - "status": { - "queued": "file is queued for download", - "error": "there was a problem with this file, see error to get the error code", - "done": "file download is completed" - }, - "Priority": { - "no_dl": "file is queued for download", - "low": "low", - "normal": "normal", - "high": "high" - } - }, - "Tracker": { - "Status": { - "unannounced": "not announced", - "announcing": "announcing", - "announce_failed": "an error occurred while trying to announce", - "announced": "announced" - } - }, - "Pieces": { - "Status": { - "X": "piece is complete", - "": "piece is currently downloading", - ".": "piece is wanted but not downloading yet", - "": "piece is not wanted and will not be downloaded", - "/": "piece is downloading with high priority as it is needed for file preview", - "U": "piece is scheduled with high priority as it is needed for file preview" - } - }, - "Peers": { - "State": { - "disconnected": "not connected", - "connecting": "trying to connect to the peer", - "handshaking": "connected to the peer, negotiating capabilities", - "ready": "ready to exchange data" - }, - "Origin": { - "tracker": "got the peer from the tracker", - "incoming": "incoming peer", - "dht": "got the peer from DHT", - "pex": "got the peer from Peer exchange protocol", - "user": "manually added peer" - }, - "Protocol": { - "tcp": "TCP", - "tcp_obfuscated": "Obfuscated TCP", - "udp": "UDP" - } - }, - "BlacklistEntry": { - "Reason": { - "disconnected": "not connected", - "connecting": "trying to connect to the peer", - "handshaking": "connected to the peer, negotiating capabilities", - "ready": "ready to exchange data" - } - }, - "ThrottlingConfig": { - "Schedule": { - "normal": "downloads will use normal DlRate config for this timeslot", - "slow": "downloads will use slow DlRate config for this timeslot", - "hibernate": "downloads will be paused for this timeslot" - }, - "Mode": { - "normal": "force use of normal rate limits (not using the scheduler)", - "slow": "force use of slow rate limits (not using the scheduler)", - "hibernate": "force hibernate (not using the scheduler)", - "schedule": "use scheduded rate limit" - } - }, - "BtConfig": { - "crypto_support": { - "unsupported": "will never use bittorrent crypto", - "allowed": "will select plain during handshake", - "preferred": "will select crypto during handshake", - "required": "will allow plain bittorrent" - } - }, - "Feeds": { - "status": { - "ready": "feed is up to date", - "fetching": "feed is updating", - "error": "there was an error trying to refresh this feed, see error" - }, - "Error": { - "feed_not_found": "No feed was found with the given id", - "item_not_found": "No feed item was found with the given id", - "feed_is_recent": "You are trying to update a feed that is already up to date", - "internal_error": "Internal error" - } - } - }, - "File" :{ - "System": { - "Errors": { - "invalid_id": "Invalid object id", - "path_not_found": "File or folder not found", - "internal_error": "Internal error", - "disk_unavailable": "The disk is not mounted", - "invalid_request": "Invalid request", - "invalid_conflict_mode": "The conflict mode specified is invalid (see below)", - "exec_failed": "Internal error", - "out_of_memory": "Out of memory", - "task_not_found": "Invalid task id", - "invalid_state": "You tried to set an invalid state", - "invalid_task_type": "This operation cannot be performed on this task", - "destination_conflict": "The destination file/folder already exists", - "access_denied": "Access to this file is denied", - "disk_full": "The destination disk is full" - }, - "Task": { - "Type": { - "cat": "Concatenate multiple files", - "cp": "Copy files", - "mv": "Move files", - "rm": "Remove files", - "archive": "Creates an archive", - "extract": "Extract an archive", - "repair": "Check and repair files" - }, - "State": { - "queued": "Queued (only one task is active at a given time)", - "running": "Running", - "paused": "Paused (user suspended)", - "done": "Done", - "failed": "Failed (see error)" - }, - "Error": { - "none": "No error", - "archive_read_failed": "Error reading archive", - "archive_open_failed": "Error opening archive", - "archive_write_failed": "Error writing archive", - "chdir_failed": "Error changing directory", - "dest_is_not_dir": "The destination is not a directory", - "file_exists": "File already exists", - "file_not_found": "File not found", - "mkdir_failed": "Unable to create directory", - "open_input_failed": "Error opening input file", - "open_output_failed": "Error opening output file", - "opendir_failed": "Error opening directory", - "overwrite_failed": "Error overwriting file", - "path_too_big": "Path is too long", - "repair_failed": "Failed to repair corrupted files", - "rmdir_failed": "Error removing directory", - "same_file": "Source and Destination are the same file", - "unlink_failed": "Error removing file", - "unsupported_file_type": "This file type is not supported", - "write_failed": "Error writing file", - "disk_full": "Disk is full", - "internal": "Internal error", - "invalid_format": "Invalid file format (corrupted ?)", - "incorrect_password": "Invalid or missing password for extraction", - "permission_denied": "Permission denied", - "readlink_failed": "Failed to read the target of a symbolic link", - "symlink_failed": "Failed to create a symbolic link" - } - }, - "FileInfo": { - "Type": { - "dir": "Directory", - "file": "Regular file" - } - } - }, - "SharingLink": { - "Errors": { - "invalid_id": "Invalid object id", - "path_not_found": "File or folder not found", - "internal_error": "Internal error" - } - }, - "Upload": { - "Status": { - "authorized": "Upload authorization is valid, upload has not started yet", - "in_progress": "Upload in progress", - "done": "Upload done", - "failed": "Upload failed", - "conflict": "Destination file conflict", - "timeout": "Upload authorization is no longer valid", - "cancelled": "Upload cancelled by user" - } - "Errors": { - "invalid_request": "Invalid request", - "path_not_found": "File or folder not found", - "access_denied": "Write permission denied in the destination folder", - "destination_conflict": "A file with same name already exists", - "invalid_id": "Invalid file upload id", - "cancelled": "Someone on a side channel as cancelled the upload" - }, - "StartAction": { - "Force": { - "missing": "The response to the FileUploadStartAction will be an error with ‘destination_conflict’ if the destination file already exists. The response will also contain a file_size attribute containing the existing file length (useful for resuming upload)", - "overwrite": "If the target file already exists it will be overridden", - "resume": "The upload will resume, all sent chunks will then be appended to the existing file." - } - } - } - }, - "AirMedia": { - "Errors": { - "unknown_target": "No airmedia device with this name in range", - "no_client": "No airmedia client connected", - "set_pass": "Unable to update password", - "set_onscreen_code": "Unable to activate onscreen code", - "no_ctrl": "Remote control is unavailable", - "http": "Internal HTTP error", - "bad_session": "No stream session found", - "bad_name": "Invalid airmedia name", - "bad_device_id": "No device with this id", - "bad_remote_id": "No remote control with this id", - "req_in_progress": "You should try again, another request is still processing", - "fetch": "Unable to get slideshow information", - "no_display": "No screen available", - "playback_state": "Invalid playback state", - "no_slideshow_srv": "Slideshow is not supported", - "no_mem": "Internal error", - "inout_file": "Unable to read input file", - "no_volume_control": "Volume control is not available", - "connect": "Error connecting to the airmedia device", - "unauthorized": "This device requests a password", - "unsupported_media": "The device does not support this format", - "bad_type": "Invalid file type", - "unimplemented": "Unimplemented" - }, - "Receiver": { - "Capabilities": { - "photo": "can display photos", - "audio": "can play audio files", - "video": "can play video files", - "screen": "can display remote screen" - }, - "Action": { - "start": "start playing a media", - "stop": "stop playing a media" - }, - "Media_Type": { - "photo": "display a photo", - "video": "display a video" - } - } - }, - "Call": { - "Errors": { - "internal_error": "Internal error", - "invalid_id": "No call with this id" - }, - "Type": { - "missed": "Missed incoming call", - "accepted": "Incoming call", - "outgoing": "Outgoing call" - } - }, - "Contatcs": { - "Errors": { - "noent": "no entry with this id", - "exists": "an entry already exists", - "no_match": "no entry matched your request" - }, - "Number": { - "Type": { - "fixed": "fixed phone", - "mobile": "mobile phone", - "work": "work", - "fax": "fax", - "other": "other" - } - }, - "Address": { - "home": "home address", - "work": "work address", - "other": "other" - }, - "Url": { - "Type": { - "profile": "profile address", - "blog": "blog address", - "site": "website address", - "other": "other" - } - }, - "Email": { - "Type":{ - "home": "home address", - "work": "work address", - "other": "other" - } - } - }, - "Connection": { - "Errors": { - "inval": "invalid request", - "nodev": "no device found with this name", - "noent": "no entity found with this name", - "netdown": "network is down", - "busy": "device is busy", - "invalid_port": "invalid port", - "insecure_password": "the password is too weak to enable remote access", - "invalid_provider": "invalid ddns provider name", - "invalid_next_hop": "invalid next hop address (should be a link local address)" - }, - "State": { - "going_up": "connection is initializing", - "up": "connection is active", - "going_down": "connection is about to become inactive", - "down": "connection is inactive" - }, - "Type": { - "ethernet": "FTTH", - "rfc2684": "xDSL (unbundled)", - "pppoatm": "xDSL" - }, - "Media": { - "ftth": "FTTH", - "adsl": "XDSL" - }, - "XDSL": { - "Status": { - "down": "unsynchronized", - "training": "synchronizing step 1/4", - "started": "synchronizing step 2/4", - "chan_analysis": "synchronizing step 3/4", - "msg_exchange": "synchronizing step 4/4", - "showtime": "Ready", - "disabled": "Disabled" - }, - "Protocol": { - "t1413": "T1.413", - "adsl1_a": "ADSL", - "adsl2_a": "ADSL2", - "adsl2plus_a": "ADSL2+", - "readsl2": "ReachDSL", - "adsl2_m": "ADSL2 annex M", - "adsl2plus_m": "ADSL2+ annex M", - "unknown": "Unknown" - }, - "Modulation": { - "adsl": "ADSL", - "vdsl": "VDSL" - } - } - }, - "DynDns": { - "Status": { - "disabled": "Disabled", - "ok": "Ok", - "wait": "Updating", - "reqfail": "Request failed", - "authfail": "Authentication error", - "nocredential": "Invalid credential", - "ipinval": "Invalid IP", - "hostinval": "Invalid hostname", - "abuse": "Blocked because of abuse", - "dnserror": "DNS error", - "unavailable": "Service unavailable", - "nowan": "Unable to get wan IP", - "unknown": "Unknown" - } - }, - "Lan": { - "Errors": { - "noent": "Invalid id", - "internal_error": "Internal error", - "ioerror": "Internal error", - "inval": "Invalid parameter", - "inval_gateway_ip": "Invalid Gateway IP" - }, - "Config": { - "Type": { - "router": "The Freebox acts as a network router", - "bridge": "The Freebox acts as a network bridge" - } - }, - "Browser": { - "Errors": { - "inval": "Invalid parameter", - "nodev": "Invalid interface", - "nohost": "Invalid host id", - "nomem": "Internal error", - "netdown": "Network is down" - } - }, - "Host": { - "Type": { - "workstation": "Workstation", - "laptop": "Laptop", - "smartphone": "Smartphone", - "tablet": "Tablet", - "printer": "Printer", - "vg_console": "Video game console", - "television": "TV", - "nas": "Nas", - "ip_camera": "IP Camera", - "ip_phone": "IP Phone", - "freebox_player": "Freebox Player", - "freebox_hd": "Freebox Server", - "networking_device": "Networking device", - "multimedia_device": "Multimedia device", - "other": "Other" - }, - "L2Ident": { - "Type": { - "dhcp": "DHCP", - "netbios": "Netbios", - "mdns": "mDNS", - "upnp": "UPnP" - } - }, - "L3Connectivity": { - "AF": { - "ipv4": "IPV4", - "ipv6": "IPV6" - } - } - } - }, - "Freeplug": { - "Errors": { - "inval": "Invalid request", - "nomem": "Internal error", - "nosta": "No freeplug with this id", - "nopeer": "No freeplug with this id" - }, - "Net_Role": { - "sta": "Freeplug Station", - "pco": "Freeplug proxy coordinator", - "cco": "Central coordinator" - }, - "Port_Status": { - "Type": "Description", - "up": "The ethernet port is up", - "down": "The ethernet port is down", - "unknown": "The ethernet port state is unknown" - } - }, - "DHCP": { - "Errors": { - "inval": "invalid argument", - "inval_netmask": "invalid netmask", - "inval_ip_range": "invalid IP range", - "inval_ip_range_net": "IP range & netmask mismatch", - "inval_gw_net": "gateway & netmask mismatch", - "exist": "already exists", - "nodev": "no such device", - "noent": "no such entry", - "netdown": "network is down", - "busy": "device or resource busy" - } - }, - "FTP": { - "Errors": { - "internal_error": "internal_error", - "weak_password": " Password is too weak for remote access" - } - }, - "NAT": { - "Errors": { - "noent": "Invalid id", - "internal_error": "Internal error", - "exist": "Conflict with an existing redirection" - } - }, - "PortForwardingConfig": { - "ip_proto": { - "tcp": "TCP", - "udp": "UDP" - } - }, - "IncomingPortConfig": { - "id": { - "http": "http port for remote access to Freebox OS", - "https": "https port for tls remote access to Freebox OS", - "bittorrent-main": "main bittorrent port for Freebox downloader", - "bittorrent-dht": "bittorrent port for DHT", - "openvpn_routed": "routed openvpn port", - "openvpn_bridge": "bridged openvpn port", - "ipsec_ike": "ipsec ikev2 vpn port", - "ipsec_nat": "ipsec nat vpn port", - "pptp": "pptp vpn server port", - "ftp": "ftp control port for FTP remote access", - "ftp_pasv": "ftp data port for FTP remote access" - }, - "type": { - "tcp": "TCP", - "udp": "UDP", - "tcp_udp": "both TCP and UDP" - } - }, - "UPnPIGD": { - "Errors": { - "disabled": "the service is disabled", - "noent": "invalid rule id" - } - }, - "LCD": { - "Errors": { - "inval": "Invalid parameters", - "no_panel": "No screen detected", - "setup": "Unable to setup screen" - } - }, - "NetworkSahre": { - "Errors": { - "invalid_workgroup_name": "Invalid workgroup name", - "invalid_logon_user": "Invalid samba user name", - "invalid_logon_password": "Invalid samba user password", - "invalid_afp_login_name": "Invalid AFP user name", - "invalid_afp_login_password": "Invalid AFP user password" - } - }, - "AfpConfig": { - "ServerType": { - "powerbook": "powerbook", - "powermac": "powermac", - "macmini": "macmini", - "imac": "imac", - "macbook": "macbook", - "macbookpro": "macbookpro", - "macbookair": "macbookair", - "macpro": "macpro", - "appletv": "appletv", - "airport": "airport", - "xserve": "xserve" - } - }, - "UPnPAV": { - "Errors": { - "internal_error": "internal_error" - } - }, - "Switch": { - "Errors": { - "bad_port": "invalid port number", - "bad_speed": "unable to set port speed", - "bad_link": "unable to set port link mode", - "bad_mac_entry_type": "invalid mac entry type" - } - }, - "SwitchPortStatus": { - "link": { - "up": "port is up", - "down": "port is down" - }, - "duplex": { - "half": "force in half duplex mode", - "full": "force in full duplex mode" - }, - "speed": { - "10": "10Base-T", - "100": "100Base-TX", - "1000": "1000Base-T" - - } - }, - "SwitchPortConfig": { - "duplex": { - "auto": "auto negotiate duplex mode", - "half": "force in half duplex mode", - "full": "force in full duplex mode" - }, - "speed": { - "Auto": "auto negotiate speed", - "10": "10Base-T", - "100": "100Base-TX", - "1000": "1000Base-T" - } - }, - "Wifi": { - "Errors": { - "inval": "invalid parameters", - "exist": "entry already exists", - "nospc": "maximum entry count reached", - "nodev": "invalid device id", - "noent": "invalid id", - "busy": "device busy", - "inval_band": "invalid wifi band", - "inval_ssid": "invalid ssid", - "inval_freq": "invalid wifi frequency", - "inval_cipher": "invalid cipher mod", - "inval_key_len": "invalid key length", - "inval_key": "invalid key", - "inval_ht_mode": "invalid 802.11n mode", - "inval_ht_mode": "invalid wifi frequency for this 802.11n mode", - "inval_ht_needs_wmm": "wmm must be enabled for 802.11n", - "inval_ac_needs_ht": "invalid configuration 802.11ac need ht support", - "inval_ac_not_2d4g": "invalid configuration 802.11ac is not supported on 2.4G band" - } - }, - "GlobalConfig": { - "mac_filter_state":{ - "disabled": "mac filter is disabled", - "whitelist": "mac filter is enabled, using a whitelist", - "blacklist": "mac filter is enabled, using a blacklist" - } - }, - "WifiApStatus": { - "State": { - "scanning": "Ap is probing wifi channels", - "no_param": "Ap is not configured", - "bad_param": "Ap has an invalid configuration", - "disabled": "Ap is permanently disabled", - "disabled_planning": "Ap is currently disabled according to planning", - "no_active_bss": "Ap has no active BSS", - "starting": "Ap is starting", - "acs": "Ap is selecting the best available channel", - "ht_scan": "Ap is scanning for other access point", - "dfs": "Ap is performing dynamic frequency selection", - "active": "Ap is active", - "failed": "Ap has failed to start" - } - }, - "WifiApConfig": { - "band": { - "2d4g": "2.4 GHz", - "5g": "5 GHz", - "60g": "60 GHz" - } - }, - "WifiAllowedComb": { - "band": { - "2d4g": "2.4 GHz", - "5g": "5 GHz", - "60g": "60 GHz" - } - }, - "WifiStation": { - "state ": { - "associated": "station is associated", - "authenticated": "station is authenticated" - } - }, - "WifiBssStatus": { - "state": { - "phy_stopped": "associated AP is stopped", - "no_param": "bss is missing config", - "bad_param": "bss has an invalid config", - "disabled": "bss is disabled", - "starting": "bss is starting", - "active": "bss is active", - "failed": "bss has failed to start" - } - }, - "WifiBssConfig": { - "use_default_config": { - "encryption": { - "wep": "wep (should not use)", - "wpa_psk_auto": "wpa/psk auto", - "wpa_psk_tkip": "wpa/psk tkip", - "wpa_psk_ccmp": "wpa/psk ccmp", - "wpa2_psk_auto": "wpa2/psk auto", - "wpa2_psk_tkip": "wpa2/psk tkip", - "wpa2_psk_ccmp": "wpa2/psk ccmp" - } - } - }, - "WifiNeighbor": { - "band": { - "2d4g": "2.4 GHz", - "5g": "5 GHz", - "60g": "60 GHz" - } - }, - "WifiChannelUsage": { - "band": { - "2d4g": "2.4 GHz", - "5g": "5 GHz", - "60g": "60 GHz" - } - }, - "WifiMacFilter": { - "type": { - "whitelist": "if mac_filter is set to whitelist this station will be allowed", - "blacklist": "if mac_filter is set to blacklist this station will be rejected" - } - }, - "SystemConfig": { - "disk_status": { - "not_detected": "The disk as not been detected", - "disabled": "The disk is disabled", - "initializing": "The disk is initializing", - "error": "The disk failed to mount", - "active": "The disk is ready" - }, - "box_flavor": { - "full": "The box has an internal storage", - "light": "The box has no internal storage" - } - }, - "VPNServer" : { - "type": { - "pptp": "PPTP VPN server", - "openvpn": "OpenVPN server" - }, - "state": { - "stopped": "stopped", - "starting": "starting", - "started": "started", - "stopping": "stopping", - "error": "error" - } - }, - "VPNClient": { - "errors": { - "inval": "invalid parameters", - "nomem": "internal error", - "ioerror": "internal error", - "nodev": "invalid device", - "noent": "invalid id", - "netdown": "network is not available", - "exist": "entry already exists", - "busy": "resource is busy" - } - }, - "VPNClientConfig": { - "type": { - "pptp": "PPTP VPN server", - "openvpn": "OpenVPN server" - }, - "mppe": { - "disable": "disable mppe", - "require": "require mppe", - "require_128": "require 128 bits mppe" - } - }, - "VPNClientStatus": { - "type": { - "pptp": "PPTP VPN server", - "openvpn": "OpenVPN server" - }, - "state": { - "waiting_wan": "waiting for wan connection", - "going_up": "connecting", - "up": "connected", - "going_down": "disconnecting", - "down": "disconnected" - }, - "last_error": { - "none": "no error", - "internal": "internal error", - "authentication_failed": "wrong credentials", - "auth_failed": "wrong credentials", - "resolv_failed": "invalid host name", - "connect_timeout": "connection timeout", - "connect_failed": "connection failed", - "setup_control_failed": "PPTP session negociation failure", - "setup_call_failed": "PPTP session failure", - "protocol": "protocol error", - "remote_terminated": "connection closed by remote peer", - "remote_disconnect": "connection closed by remote peer" - } - }, - "VpnClientIpInfo": { - "Provider": { - "none": "none", - "static": "static IP configuration", - "ppp": "ppp", - "dhcp": "DHCP server" - } - }, - "Storage": { - "Errors": { - "not_found": "No disk/partition with this id", - "invalid_disk": "No such disk", - "is_a_partition": "This is not a disk but a partition", - "is_internal": "This action is not permitted on internal disk", - "op_not_supported": "Operation not supported", - "op_failed": "Operation failed", - "disk_busy": "Disk is busy" - } - }, - "DiskPartition": { - "state": { - "error": "Partition has error", - "checking": "Partition check in progress", - "formatting": "Partition format in progress", - "mounting": "Partition mount in progress", - "maintenance": "Partition is in maintenance mode", - "mounted": "Partition is ready", - "umounting": "Partition umount in progress", - "umounted": "Partition is umounted", - "ejecting": "Partition ejection in progress" - }, - "fstype": { - "empty": "empty", - "unknown": "unknown", - "xfs": "xfs", - "ext4": "ext4", - "vfat": "vfat", - "ntf": "ntf", - "hf": "hf", - "hfsplus": "hfsplus", - "swap": "swap", - "exfat": "exfat" - }, - "fsck_result": { - "no_run_yet": "Partition has not been checked yet", - "running": "Check is in progress", - "fs_clean": "File system is ok", - "fs_corrected": "File system was corrected", - "fs_needs_correction": "File system need correction", - "failed": "File system has unrecoverable error" - } - }, - "StorageDisk": { - "Errors": { - "not_found": "No disk/partition with this id", - "invalid_disk": "No such disk", - "is_a_partition": "This is not a disk but a partition", - "is_internal": "This action is not permitted on internal disk", - "op_not_supported": "Operation not supported", - "op_failed": "Operation failed", - "disk_busy": "Disk is busy" - }, - "type": { - "internal": "Freebox internal disk", - "usb": "usb disk", - "sata": "sata disk" - }, - "State": { - "error": "Disk has error", - "disabled": "Disk is disabled", - "enabled": "Disk is enabled", - "formatting": "Disk is formatting" - }, - "table_type": { - "msdos": "msdos", - "gpt": "gpt", - "superfloppy": "superfloppy", - "empty": "empty" - } - } - "DiskPartition": { - "State": { - "error": "Partition has error", - "checking": "Partition check in progress", - "formatting": "Partition format in progress", - "mounting": "Partition mount in progress", - "maintenance": "Partition is in maintenance mode", - "mounted": "Partition is ready", - "umounting": "Partition umount in progress", - "umounted": "Partition is umounted", - "ejecting": "Partition ejection in progress" - }, - "fstype": { - "empty": "empty", - "unknown": "unknown", - "xfs": "xfs", - "ext4": "ext4", - "vfat": "vfat", - "ntf": "ntf", - "hf": "hf", - "hfsplus": "hfsplus", - "swap": "swap", - "exfat": "exfat" - }, - "fsck_result": { - "no_run_yet": "Partition has not been checked yet", - "running": "Check is in progress", - "fs_clean": "File system is ok", - "fs_corrected": "File system was corrected", - "fs_needs_correction": "File system need correction", - "failed": "File system has unrecoverable error" - } - }, - "ParentalControl": { - "Errors": { - "allowed": "access is allowed", - "denied": "access is denied", - "webonly": "access is granted only for HTTP and HTTPS traffic" - }, - "ParentalFilterPlanning": { - "cdayranges": { - "fr_bank_holidays": "French bank holidays", - "fr_school_holidays_a": "French school holidays - Zone A", - "fr_school_holidays_b": "French school holidays - Zone B", - "fr_school_holidays_c": "French school holidays - Zone C", - "fr_school_holidays_corse": "French school holidays - Corse" - } - }, - "ParentalFilter": { - "scheduling_mode": { - "forced": "filter_state is forced to forced_mode", - "temporary": "filter_state is temporary set to tmp_mode for the next tmp_mode_expire seconds", - "planning": "filter_state is set using the planning" - }, - "filter_state": { - "allowed": "access is allowed", - "denied": "access is denied", - "webonly": "access is granted only for HTTP and HTTPS traffic" - } - } - }, - "PVR": { - "Errors": { - "noent": "wrong id", - "inval": "invalid params", - "inval_date_fmt": "invalid date format", - "inval_end_before_start": "start time must be before end time", - "system_time_incorrect": "system time not available", - "record_duration_too_long": "record duration is too long", - "record_date_in_past": "record date is already passed", - "unknown_channel": "unknown channel", - "no_channel_svc": "no service for this channel", - "only_auto_disable": "can’t disable manual precord", - "cannot_change_en_state": "can’t change enabled state", - "cannot_disable_has_data": "can’t disable started record", - "internal_error": "internal error" - }, - "Precord": { - "State": { - "disabled": "disabled", - "start_error": "failed to start", - "waiting_start_time": "scheduled", - "starting": "starting", - "running": "running", - "running_error": "running with error", - "failed": "failed", - "finished": "finished" - }, - "Error": { - "none": "none", - "file_access_error": "File Access Error", - "disk_full": "Disk Full", - "private_but_no_private_dir": "Private But No Private Dir", - "network_problem": "Network Problem", - "resource_problem": "Resource Problem", - "no_stream_available": "No Stream Available", - "no_data_received": "No Data Received", - "missed": "Missed", - "stopped": "Stopped", - "internal_error": "Internal Error", - "unknown_error": "Unknown Error" - }, - "channel_quality": { - "auto": "auto", - "hd": "hd", - "sd": "sd", - "ld": "ld", - "3d": "3d" - }, - "channel_type": { - "": "auto", - "iptv": "use only iptv streams", - "dvb": "use only dvb streams" - }, - "broadcast_type": { - "tv": "tv", - "radio": "radio" - } - }, - "Frecord": { - "State": { - "disabled": "disabled", - "start_error": "failed to start", - "waiting_start_time": "scheduled", - "starting": "starting", - "running": "running", - "running_error": "running with error", - "failed": "failed", - "finished": "finished" - }, - "Error": { - "none": "none", - "file_access_error": "File Access Error", - "disk_full": "Disk Full", - "private_but_no_private_dir": "Private But No Private Dir", - "network_problem": "Network Problem", - "resource_problem": "Resource Problem", - "no_stream_available": "No Stream Available", - "no_data_received": "No Data Received", - "missed": "Missed", - "stopped": "Stopped", - "internal_error": "Internal Error", - "unknown_error": "Unknown Error" - }, - "channel_quality": { - "auto": "auto", - "hd": "hd", - "sd": "sd", - "ld": "ld", - "3d": "3d" - }, - "channel_type": { - "": "auto", - "iptv": "use only iptv streams", - "dvb": "use only dvb streams" - }, - "broadcast_type": { - "tv": "tv", - "radio": "radio" - } - } - } -} \ No newline at end of file diff --git a/Ressources/Tested-Environnement.csv b/Ressources/Tested-Environnement.csv index 84bd5db..e69de29 100644 --- a/Ressources/Tested-Environnement.csv +++ b/Ressources/Tested-Environnement.csv @@ -1,14 +0,0 @@ -Bbox_Model;Bbox_Firmware_Version;Connexion_Type;OS_Version;PowerShell_Version;Chrome_Version;ChromeDriver_Version -Fast5330b-r0;22.3.12;FTTH;Windows10Pro;7.2.6.0;106.0.5249.62;106.0.5249.21 -Fast5330b-r1;20.8.8;FTTH;Windows10Pro;7.2.6.0;106.0.5249.62;106.0.5249.21 -Fast5330b-r1;20.8.8;FTTH;Windows10Pro;7.2.6.0;105.0.5195.127;71.0.3578.33 -Fast5330b-r1;20.8.8;FTTH;Windows10Pro;5.1.19041.1682;103.0.5060.134;71.0.3578.33 -Fast5330b-r1;20.6.8;FTTH;Windows10Pro;5.1.19041.1320;97.0.4692.71;N/C -Fast5330b-r1;20.2.34;FTTH;Windows10Pro;5.1.18362.1171;97.0.4692.71;N/C -Fast5330b-r1;19.2.12;FTTH;Windows10Pro;5.1.18362.1171;97.0.4692.71;N/C -Fast5330b-r1;18.5.4;FTTH;Windows10Pro;5.1.18362.1171;97.0.4692.71;N/C -Fast5330b-r1;18.2.12;FTTH;Windows10Pro;5.1.18362.1171;97.0.4692.71;N/C -Fast5330b-r1;17.13.8;FTTH;Windows10Pro;5.1.18362.1171;97.0.4692.71;N/C -Fast5330b-r1;17.13.4;FTTH;Windows10Pro;5.1.18362.1171;97.0.4692.71;N/C -Fast5330b-r1;17.13.4;FTTH;Windows10Pro;5.1.18362.1171;97.0.4692.71;N/C -Fast5330b-r1;17.10.10;FTTH;Windows10Pro;5.1.18362.1171;97.0.4692.71;N/C diff --git a/Ressources/ChromeDriver/webdriver.dll b/Ressources/webdriver.dll similarity index 100% rename from Ressources/ChromeDriver/webdriver.dll rename to Ressources/webdriver.dll diff --git a/Ressources/ChromeDriver/webdriver.support.dll b/Ressources/webdriver.support.dll similarity index 100% rename from Ressources/ChromeDriver/webdriver.support.dll rename to Ressources/webdriver.support.dll