Files
powershell-scripts/EgtDeploy/CLI/MachinesGrabber.ps1
T
marco.locatelli@steamware.net 7f87236961 Accorpamento Progetti Powershell Script
2024-02-21 11:23:47 +01:00

104 lines
2.8 KiB
PowerShell

### Copia le macchine desiderate da Artifacts alla cartella desiderata ###
#inizializzo variabili vuote
$SelDir=""
$SelMach=""
$FolderType=""
#Definisco path truenas di origine
$Artifacts = '\\truenas\Artifacts'
#Chiedo all'utente che macchine vuole copiare
function Show-MenuA
{
param (
[string]$Title = 'Seleziona Macchine da copiare'
)
Clear-Host
Write-Host ""
Write-Host "================ $Title ================"
Write-Host "1: Premi '1' per macchine Belotti"
Write-Host "2: Premi '2' per macchine CMS"
Write-Host "3: Premi '3' per macchine Essetre"
Write-Host "4: Premi '4' per macchine Multiax"
Write-Host "5: Premi '5' per macchine Omag"
Write-Host "q: Premi 'q' tornare al menù principale"
Write-Host ""
}
Show-MenuA
#Salvo la selezione dell'utente
$MachineSelect = Read-Host 'Seleziona Macchine da copiare'
switch ($MachineSelect)
{
'1' {
$SelMach = 'Belotti'
}
'2' {
$SelMach = 'CMS'
}
'3' {
$SelMach = 'Essetre'
}
'4' {
$SelMach = 'Multiax'
}
'5' {
$SelMach = 'Omag'
}
'q' {
Powershell.exe -executionpolicy remotesigned -File .\CLI\EgtScriptsManager.ps1
}
}
#Chiedo all'utente in che directory copiare
function Show-MenuB
{
param (
[string]$Title = 'Seleziona directory di destinazione'
)
Clear-Host
Write-Host "================ $Title ================"
Write-Host ""
Write-Host "1: Premi '1' per directory TEST - C:\EgtTestData\EgtCAM5\Machines"
Write-Host "2: Premi '2' per directory STABLE - C:\ProgramData\EgalTech\EgtCAM5\Machines"
Write-Host "q: Premi 'q' per uscire dal programma."
Write-Host ""
}
Show-MenuB
#Salvo la selezione dell'utente
$DirectorySelect = Read-Host 'Seleziona directory di destinazione'
switch ($DirectorySelect)
{
'1' {
$SelDir = 'C:\EgtTestData\EgtCAM5\Machines'
$FolderType = 'Test'
}
'2' {
$SelDir = 'C:\ProgramData\EgalTech\EgtCAM5\Machines'
$FolderType = 'Stable'
}
'q' {
Powershell.exe -executionpolicy remotesigned -File .\CLI\EgtScriptsManager.ps1
}
}
Write-Output ""
Write-Output "Copying machines $SelMach in folder $FolderType"
Write-Output ""
Start-Sleep -seconds 5
#Cerco le cartelle delle macchine richieste
$MachinesList = Get-ChildItem -Path $Artifacts\EGT_SRV\EgtTech\EgtData\Machines\ -Directory | Select-String -Pattern $SelMach
#Per ogni macchina richiesta trovata procedo a copiarla in EgtTestData\EgtCAM5\Machines
foreach($Machine in $MachinesList)
{
ROBOCOPY $Artifacts\EGT_SRV\EgtTech\EgtData\Machines\$Machine $SelDir\$Machine /MIR /FFT
}
#Chiudo lanciando lo Script Manager per altre operazioni
Powershell.exe -executionpolicy remotesigned -File .\CLI\EgtScriptsManager.ps1