mirror of
https://gitlab.com/JKANetwork/powerfulcomputermanager.git
synced 2026-06-15 12:46:13 +02:00
API 1
This commit is contained in:
@@ -1,320 +0,0 @@
|
||||
# Build 2
|
||||
Write-Host "This utility is obsolete and may not work. Please use control.pyw"
|
||||
$root = $PSCommandPath | Split-Path -Parent
|
||||
$server = (Get-Content "$root\configpcm.ini" | select -Skip 1 | ConvertFrom-StringData).server
|
||||
$resources = (Get-Content "$root\configpcm.ini" | select -Skip 1 | ConvertFrom-StringData).resources
|
||||
|
||||
|
||||
function seeGroups {
|
||||
$answer = Invoke-RestMethod -Method Get -Uri "$server/get/groups"
|
||||
foreach ($st in $answer){
|
||||
Write-Host "Grupo:" $st.Name
|
||||
}
|
||||
}
|
||||
function seeComputers {
|
||||
$answer = Invoke-RestMethod -Method Get -Uri "$server/get/computers"
|
||||
foreach ($st in $answer){
|
||||
Write-Host "Ordenador:" $st.Name
|
||||
}
|
||||
}
|
||||
|
||||
function menuReportes {
|
||||
|
||||
do
|
||||
{
|
||||
Write-Host "================ Menu reportes ================"
|
||||
|
||||
|
||||
Write-Host "1) Reporte de Software"
|
||||
Write-Host "Q) Salir"
|
||||
$input = Read-Host "Elegir una Opcion"
|
||||
switch ($input)
|
||||
{
|
||||
'1' {
|
||||
Clear-Host
|
||||
. "$PSScriptRoot\ADcomputerData.ps1"
|
||||
pause
|
||||
} 'q' {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
until ($input -eq 'q')
|
||||
|
||||
|
||||
}
|
||||
|
||||
function menuEquipos {
|
||||
|
||||
do
|
||||
{
|
||||
Write-Host "================ Menu equipos ================"
|
||||
|
||||
|
||||
Write-Host "1) Reporte de Equipos en pantalla"
|
||||
Write-Host "2) Añadir equipo"
|
||||
Write-Host "3) Borrar equipo"
|
||||
Write-Host "4) Añadir equipo a un grupo"
|
||||
Write-Host "5) Borrar equipo de un grupo"
|
||||
Write-Host "Q) Salir"
|
||||
$input = Read-Host "Elegir una Opcion"
|
||||
switch ($input)
|
||||
{
|
||||
'1' {
|
||||
Clear-Host
|
||||
seeComputers #Function
|
||||
pause
|
||||
} '2' {
|
||||
Clear-Host
|
||||
$newHost = Read-Host -Prompt "Nombre del equipo"
|
||||
if (Test-Connection -ComputerName $newHost -Quiet){
|
||||
Write-Output "$newHost Online"
|
||||
Write-Output "Añadiendo equipo"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/add/computer?ComputerName=$newHost"
|
||||
}else{
|
||||
Write-Output "$newHost Offline"
|
||||
}
|
||||
pause
|
||||
|
||||
} '3' {
|
||||
Clear-Host
|
||||
$hhost = Read-Host -Prompt "Nombre del equipo a eliminar"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/del/computer?ComputerName=$hhost"
|
||||
} '4' {
|
||||
Clear-Host
|
||||
$computer = Read-Host -Prompt "Nombre del equipo"
|
||||
# See all groups
|
||||
seeGroups #Function
|
||||
$newGroup = Read-Host -Prompt "Nombre del grupo a añadir"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/add/grpcomputer?ComputerName=$computer&GroupName=$newGroup"
|
||||
pause
|
||||
} '5' {
|
||||
Clear-Host
|
||||
$computer = Read-Host -Prompt "Nombre del equipo"
|
||||
# See all groups
|
||||
seeGroups #Function
|
||||
$newGroup = Read-Host -Prompt "Nombre del grupo a quitar"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/add/grpcomputer?ComputerName=$computer&GroupName=$newGroup"
|
||||
pause
|
||||
} 'q' {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
until ($input -eq 'q')
|
||||
|
||||
|
||||
}
|
||||
|
||||
function menuGrupos {
|
||||
|
||||
do
|
||||
{
|
||||
Write-Host "================ Menu grupos ================"
|
||||
|
||||
|
||||
Write-Host "1) Reporte de Grupos en pantalla"
|
||||
Write-Host "2) Ver equipos de un grupo"
|
||||
Write-Host "3) Añadir grupo"
|
||||
Write-Host "4) Borrar grupo"
|
||||
Write-Host "5) Vaciar equipos del grupo"
|
||||
Write-Host "6) Cambiar nombre del grupo"
|
||||
Write-Host "7) Ver recetas de un grupo"
|
||||
Write-Host "Q) Salir"
|
||||
$input = Read-Host "Elegir una Opción"
|
||||
switch ($input)
|
||||
{
|
||||
'1' {
|
||||
Clear-Host
|
||||
seeGroups #Function
|
||||
pause
|
||||
} '2' {
|
||||
Clear-Host
|
||||
seeGroups
|
||||
$GroupName = Read-Host -Prompt "Nombre del grupo a ver"
|
||||
if ($GroupName){
|
||||
$answer = Invoke-RestMethod -Method Get -Uri "$server/get/computersgrp?GroupName=$GroupName"
|
||||
foreach ($st in $answer){
|
||||
Write-Host "Ordenador:" $st.Name
|
||||
}
|
||||
}
|
||||
pause
|
||||
} '3' {
|
||||
Clear-Host
|
||||
$newGroup = Read-Host -Prompt "Nombre del grupo a añadir"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/add/group?GroupName=$newGroup"
|
||||
pause
|
||||
|
||||
} '4' {
|
||||
Clear-Host
|
||||
seeGroups #Function
|
||||
$grpName = Read-Host -Prompt "Nombre del grupo a eliminar"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/del/group?GroupName=$grpName"
|
||||
} '5' {
|
||||
Clear-Host
|
||||
seeGroups #Function
|
||||
$grpName = Read-Host -Prompt "Nombre del grupo a quitar los equipos"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/del/emptypcsgroup?GroupName=$grpName"
|
||||
} '6' {
|
||||
Clear-Host
|
||||
# See all groups
|
||||
seeGroups #Function
|
||||
$GroupName = Read-Host -Prompt "Nombre del grupo"
|
||||
$GroupNewName = Read-Host -Prompt "Nombre nuevo"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/upd/group?GroupName=$GroupName&GroupNewName=$GroupNewName"
|
||||
pause
|
||||
} '7' {
|
||||
Clear-Host
|
||||
# See all groups
|
||||
seeGroups #Function
|
||||
$GroupName = Read-Host -Prompt "Nombre del grupo para ver recetas"
|
||||
if ($GroupName){
|
||||
$answer = Invoke-RestMethod -Method Get -Uri "$server/get/cookgrp?GroupName=$GroupName"
|
||||
foreach ($st in $answer){
|
||||
Write-Host "Receta:" $st.CookName
|
||||
}
|
||||
}else{
|
||||
Write-Host "No hay grupo"
|
||||
}
|
||||
pause
|
||||
} 'q' {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
until ($input -eq 'q')
|
||||
|
||||
}
|
||||
|
||||
|
||||
function menuCooks {
|
||||
|
||||
do
|
||||
{
|
||||
Write-Host "================ Menu recetas (Cooks) ================"
|
||||
|
||||
|
||||
Write-Host "1) Grupos de una receta"
|
||||
Write-Host "2) Estado de una receta"
|
||||
Write-Host "3) Detalles de cada equipo de una receta"
|
||||
Write-Host "4) Añadir receta a un grupo"
|
||||
Write-Host "5) Borrar receta de un grupo"
|
||||
Write-Host "6) Renombrar receta"
|
||||
Write-Host "Q) Salir"
|
||||
$input = Read-Host "Elegir una Opción"
|
||||
switch -regex ($input)
|
||||
{
|
||||
'1' {
|
||||
Clear-Host
|
||||
$CookName = Read-Host -Prompt "Nombre de la receta"
|
||||
Write-Host "Grupos de la receta $CookName"
|
||||
$grpcook = Invoke-RestMethod -Method Get -Uri "$server/get/grpcook?CookName=$CookName"
|
||||
foreach ($st in $grpcook){
|
||||
Write-Host "Grupo:" $st.Name
|
||||
}
|
||||
pause
|
||||
} '2|3' {
|
||||
Clear-Host
|
||||
$CookName = Read-Host -Prompt "Nombre de la receta"
|
||||
|
||||
Write-Host "Grupos de la receta"
|
||||
$grpcook = Invoke-RestMethod -Method Get -Uri "$server/get/grpcook?CookName=$CookName"
|
||||
foreach ($st in $grpcook){
|
||||
Write-Host "Grupo:" $st.Name
|
||||
}
|
||||
|
||||
$cookrevision = Invoke-RestMethod -Method Get -Uri "$server/get/lastrevisioncook?CookName=$CookName"
|
||||
$answer = Invoke-RestMethod -Method Get -Uri "$server/get/statuscook?CookName=$CookName"
|
||||
|
||||
if ($_ -eq '3'){
|
||||
foreach ($st in $answer){
|
||||
Write-Host "Ordenador:" $st.Name ", revision" $st.Revision ", error" $st.Error
|
||||
}
|
||||
Write-Host "------Resumen y errores------"
|
||||
}
|
||||
$estadistica = @{}
|
||||
$estadistica.Total = 0
|
||||
$estadistica.Error = 0
|
||||
$estadistica.NotLast = 0
|
||||
foreach ($st in $answer){
|
||||
$estadistica.Total++
|
||||
if ($st.Error -eq '1'){
|
||||
Write-Host "Ordenador en error:" $st.Name
|
||||
$estadistica.Error++
|
||||
}
|
||||
if ($st.Revision -ne $cookrevision.Revision){
|
||||
Write-Host "Ordenador sin la última revisión de la receta:" $st.Name
|
||||
$estadistica.NotLast++
|
||||
}
|
||||
}
|
||||
Write-Host "Total implementado:" $estadistica.Total
|
||||
Write-Host "Errores:" $estadistica.Error
|
||||
Write-Host "Sin aplicar ultima revisión:" $estadistica.NotLast
|
||||
pause
|
||||
} '4' {
|
||||
Clear-Host
|
||||
|
||||
$CookName = Read-Host -Prompt "Nombre de la receta a añadir"
|
||||
seeGroups #Function
|
||||
$GroupName = Read-Host -Prompt "Nombre del grupo que quieres que lo tenga"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/add/cookgrp?GroupName=$GroupName&CookName=$CookName"
|
||||
pause
|
||||
|
||||
} '5' {
|
||||
Clear-Host
|
||||
$CookName = Read-Host -Prompt "Nombre del receta a eliminar de un grupo"
|
||||
$grpcook = Invoke-RestMethod -Method Get -Uri "$server/get/grpcook?CookName=$CookName"
|
||||
foreach ($st in $grpcook){
|
||||
Write-Host "Grupo:" $st.Name
|
||||
}
|
||||
$GroupName = Read-Host -Prompt "Nombre del grupo"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/del/cookgrp?GroupName=$GroupName&CookName=$CookName"
|
||||
pause
|
||||
} '6' {
|
||||
Clear-Host
|
||||
$CookName = Read-Host -Prompt "Nombre del receta actual"
|
||||
$CookNewName = Read-Host -Prompt "Nuevo nombre"
|
||||
Invoke-RestMethod -Method Get -Uri "$server/upd/cookname?CookNewName=$CookNewName&CookName=$CookName"
|
||||
pause
|
||||
} 'q' {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
until ($input -eq 'q')
|
||||
|
||||
}
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
Write-Host "================ Menú principal ================"
|
||||
|
||||
|
||||
Write-Host "1) Reportes"
|
||||
Write-Host "2) Equipos"
|
||||
Write-Host "3) Grupos (Locales)"
|
||||
Write-Host "4) Recetas"
|
||||
Write-Host "Q) Salir"
|
||||
$input = Read-Host "Elegir una Opción"
|
||||
switch ($input)
|
||||
{
|
||||
'1' {
|
||||
Clear-Host
|
||||
menuReportes
|
||||
} '2' {
|
||||
Clear-Host
|
||||
menuEquipos
|
||||
} '3' {
|
||||
Clear-Host
|
||||
menuGrupos
|
||||
} '4' {
|
||||
Clear-Host
|
||||
menuCooks
|
||||
} 'q' {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
until ($input -eq 'q')
|
||||
+28
-4
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/python3
|
||||
# Version 0.61
|
||||
# Version 0.7
|
||||
import easygui
|
||||
import configparser
|
||||
import json
|
||||
@@ -8,6 +8,9 @@ import subprocess, platform
|
||||
import hashlib #SHA256
|
||||
from translation import T
|
||||
|
||||
|
||||
passha256 = None # Password (Global)
|
||||
|
||||
def ping(host):
|
||||
"""
|
||||
Returns True if host (str) responds to a ping request.
|
||||
@@ -29,8 +32,15 @@ def sendmenudot(text,title,choices):
|
||||
## showchoicesapi, suburl has to have params (NOT inlcuding server part)
|
||||
def showchoicesapi(text,title,suburl,field='Name'):
|
||||
global c_server
|
||||
global passha256
|
||||
if 'Password=' in suburl:
|
||||
twopart = ""
|
||||
elif '?' in suburl:
|
||||
twopart = '&Password='+str(passha256)
|
||||
else:
|
||||
twopart= '?Password='+str(passha256)
|
||||
try:
|
||||
jsonobj = json.loads(requests.get(c_server+suburl).text)
|
||||
jsonobj = json.loads(requests.get(c_server+suburl+twopart).text)
|
||||
listitems = []
|
||||
for ite in jsonobj:
|
||||
listitems.append(ite[field])
|
||||
@@ -41,8 +51,15 @@ def showchoicesapi(text,title,suburl,field='Name'):
|
||||
|
||||
def sendsettoapi(suburl,goodtext): # Send a add/del/modify to API. Doesn't return more than "Valid" and "Not valid"
|
||||
global c_server
|
||||
global passha256
|
||||
if 'Password=' in suburl:
|
||||
twopart = ""
|
||||
elif '?' in suburl:
|
||||
twopart = '&Password='+str(passha256)
|
||||
else:
|
||||
twopart= '?Password='+str(passha256)
|
||||
try:
|
||||
jsonobj = json.loads(requests.get(c_server+suburl).text)
|
||||
jsonobj = json.loads(requests.get(c_server+suburl+twopart).text)
|
||||
#jsonobj['RESULT'] has to exist for next if
|
||||
try:
|
||||
jsonobj['RESULT']
|
||||
@@ -63,8 +80,15 @@ def sendsettoapi(suburl,goodtext): # Send a add/del/modify to API. Doesn't retur
|
||||
|
||||
def returnvalueapi(suburl,field="Name"):
|
||||
global c_server
|
||||
global passha256
|
||||
if 'Password=' in suburl:
|
||||
twopart = ""
|
||||
elif '?' in suburl:
|
||||
twopart = '&Password='+str(passha256)
|
||||
else:
|
||||
twopart= '?Password='+str(passha256)
|
||||
try:
|
||||
jsonobj = json.loads(requests.get(c_server+suburl).text)
|
||||
jsonobj = json.loads(requests.get(c_server+suburl+twopart).text)
|
||||
return jsonobj[field]
|
||||
except:
|
||||
easygui.msgbox(msg='Error en la aplicación al consultar', title="Error", ok_button='OK')
|
||||
|
||||
Reference in New Issue
Block a user