Added -OneLine which outputs a PS table
This commit is contained in:
parent
b1980e5820
commit
4de25b4a56
|
@ -1,4 +1,10 @@
|
||||||
[CmdletBinding()]param([string[]]$Command, [switch]$NotPowerShell, [string[]]$Remotes)
|
[CmdletBinding()]param(
|
||||||
|
[string[]]$Command,
|
||||||
|
[string[]]$Remotes = 'all',
|
||||||
|
[string[]]$MoreArgs,
|
||||||
|
[switch]$NotPowerShell,
|
||||||
|
[switch]$OneLine
|
||||||
|
)
|
||||||
|
|
||||||
$script:ansible_cli=@('ansible')
|
$script:ansible_cli=@('ansible')
|
||||||
if( (Test-Path './ansible.cfg') -or (Test-Path '/opt/ansible/hosts') -and (Test-Path '/opt/ansible/ssh_key_for_ansible') ) {
|
if( (Test-Path './ansible.cfg') -or (Test-Path '/opt/ansible/hosts') -and (Test-Path '/opt/ansible/ssh_key_for_ansible') ) {
|
||||||
|
@ -12,8 +18,29 @@ if( $Command ) {
|
||||||
$ansible_cli += "pwsh -encodedcommand $(ConvertTo-Base64 $($Command -join '; '))"
|
$ansible_cli += "pwsh -encodedcommand $(ConvertTo-Base64 $($Command -join '; '))"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if( $OneLine ) {
|
||||||
|
$ansible_cli += '--one-line'
|
||||||
|
}
|
||||||
$ansible_cli += $Remotes
|
$ansible_cli += $Remotes
|
||||||
|
$ansible_cli += $MoreArgs
|
||||||
|
|
||||||
$local:expr = $('& "'+$($ansible_cli -join '" "')+'"')
|
$local:expr = $('& "'+$($ansible_cli -join '" "')+'"')
|
||||||
Write-Verbose $expr
|
Write-Verbose $expr
|
||||||
Invoke-Expression $expr
|
$local:SaveConsoleColor = [Console]::ForegroundColor
|
||||||
|
Invoke-Expression $expr | ForEach-Object {
|
||||||
|
if( -not $OneLine ) { return $_ };
|
||||||
|
$local:res = $_.Split('|');
|
||||||
|
$res = [PSCustomObject]([ordered]@{
|
||||||
|
Machine = $res[0].Trim();
|
||||||
|
Status = $res[1].Trim();
|
||||||
|
RC = "$($res[2])".Trim();
|
||||||
|
Output = "$($res[3])".Trim();
|
||||||
|
})
|
||||||
|
if( $res.Status -match '^\w+!:' ) {
|
||||||
|
[Console]::ForegroundColor = [ConsoleColor]::Red
|
||||||
|
} else {
|
||||||
|
[Console]::ForegroundColor = [ConsoleColor]::Yellow
|
||||||
|
}
|
||||||
|
$res
|
||||||
|
}
|
||||||
|
[Console]::ForegroundColor = $SaveConsoleColor
|
||||||
|
|
Loading…
Reference in New Issue