### Input Declaration
$targetHost = "localhost";
$targerFilePath = "\\$computer\C$\Tasks\Gateway"
$sourceFilePath = "c:\scripts\Tasks\*"
$ansibleInstallerPath = "c:\windows\Tasks\Cyberduck-Installer-7.0.1.30930.exe";
$pythonInstallerPath = "c:\windows\Tasks\Cyberduck-Installer-7.0.1.30930.exe";
### MainCode
### Check existence of gateway file and copy
if(![System.IO.File]::Exists($path))
{
### Gateway Folder already Exists
Write-Host "GatewayFolder already exists.";
###Copy all the content from engine & paste all the remote gateway
Write-Host "Copy all the content from engine to gateway";
Copy-Item $sourceFilePath $targerFilePath
###Trigger Ansible installer
$installed = (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where { $_.DisplayName -eq 'ansible' }) -ne $null
If(-Not $installed)
{
Write-Host "Ansible NOT is installed.";
Write-Host "Installing ansible";
Invoke-Command -ComputerName $targetHost -ScriptBlock {
Start-Process $ansibleInstallerPath -ArgumentList '/silent' -Wait
}
}
else
{
Write-Host "Ansible is already installed."
}
###Trigger Python installer
$installed = (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where { $_.DisplayName -eq 'Python' }) -ne $null
If(-Not $installed)
{
Write-Host "Python NOT is installed.";
Write-Host "Installing Python";
Invoke-Command -ComputerName $targetHost -ScriptBlock {
Start-Process $pythonInstallerPath -ArgumentList '/silent' -Wait
}
}
else
{
Write-Host "Pyhton is already installed."
}
}
else
{
### Create Gateway Folder
New-item -itemtype directory -path "Gateway"
if(![System.IO.File]::Exists($path))
{
###Copy all the content from engine & paste all the remote gateway
Copy-Item $sourceFilePath $targerFilePath
Start-Sleep -s 15
###Trigger Ansible installer
$installed = (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where { $_.DisplayName -eq 'ansible' }) -ne $null
If(-Not $installed)
{
Write-Host "Ansible NOT is installed.";
Write-Host "Installing ansible";
Invoke-Command -ComputerName $targetHost -ScriptBlock {
Start-Process $ansibleInstallerPath -ArgumentList '/silent' -Wait
}
}
else
{
Write-Host "Ansible is already installed."
}
###Trigger Python installer
$installed = (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where { $_.DisplayName -eq 'Python' }) -ne $null
If(-Not $installed)
{
Write-Host "Python NOT is installed.";
Write-Host "Installing Python";
Invoke-Command -ComputerName $targetHost -ScriptBlock {
Start-Process $pythonInstallerPath -ArgumentList '/silent' -Wait
}
}
else
{
Write-Host "Pyhton is already installed."
}
}
}
else
{
### Unable to create Gateway Folder
Write-Host "Unable to create Gateway folder"
}