Add shell_plugins to abstract shell-specific functions out of runner, add winrm connection plugin, add initial Windows modules.

This commit is contained in:
Chris Church 2014-06-17 15:15:18 -05:00 committed by Matt Martz
parent 9e8bbd8eac
commit 54e5289f79
9 changed files with 253 additions and 0 deletions

13
windows/assemble.ps1 Normal file
View file

@ -0,0 +1,13 @@
#!powershell
# WANT_JSON
If ($args.Length -gt 0)
{
$params = Get-Content $args[0] | ConvertFrom-Json;
}
$data = 'FIXME';
$result = '{}' | ConvertFrom-Json;
$result | Add-Member -MemberType NoteProperty -Name fixme -Value $data;
echo $result | ConvertTo-Json;

13
windows/async_wrapper.ps1 Normal file
View file

@ -0,0 +1,13 @@
#!powershell
# WANT_JSON
If ($args.Length -gt 0)
{
$params = Get-Content $args[0] | ConvertFrom-Json;
}
$data = 'FIXME';
$result = '{}' | ConvertFrom-Json;
$result | Add-Member -MemberType NoteProperty -Name fixme -Value $data;
echo $result | ConvertTo-Json;

13
windows/command.ps1 Normal file
View file

@ -0,0 +1,13 @@
#!powershell
# WANT_JSON
If ($args.Length -gt 0)
{
$params = Get-Content $args[0] | ConvertFrom-Json;
}
$data = 'FIXME';
$result = '{}' | ConvertFrom-Json;
$result | Add-Member -MemberType NoteProperty -Name fixme -Value $data;
echo $result | ConvertTo-Json;

13
windows/copy.ps1 Normal file
View file

@ -0,0 +1,13 @@
#!powershell
# WANT_JSON
If ($args.Length -gt 0)
{
$params = Get-Content $args[0] | ConvertFrom-Json;
}
$data = 'FIXME';
$result = '{}' | ConvertFrom-Json;
$result | Add-Member -MemberType NoteProperty -Name fixme -Value $data;
echo $result | ConvertTo-Json;

13
windows/file.ps1 Normal file
View file

@ -0,0 +1,13 @@
#!powershell
# WANT_JSON
If ($args.Length -gt 0)
{
$params = Get-Content $args[0] | ConvertFrom-Json;
}
$data = 'FIXME';
$result = '{}' | ConvertFrom-Json;
$result | Add-Member -MemberType NoteProperty -Name fixme -Value $data;
echo $result | ConvertTo-Json;

17
windows/ping.ps1 Normal file
View file

@ -0,0 +1,17 @@
#!powershell
# WANT_JSON
If ($args.Length -gt 0)
{
$params = Get-Content $args[0] | ConvertFrom-Json;
}
$data = 'pong';
If (($params | Get-Member | Select-Object -ExpandProperty Name) -contains 'data')
{
$data = $params.data;
}
$result = '{}' | ConvertFrom-Json;
$result | Add-Member -MemberType NoteProperty -Name ping -Value $data;
echo $result | ConvertTo-Json;

33
windows/slurp.ps1 Normal file
View file

@ -0,0 +1,33 @@
#!powershell
# WANT_JSON
$params = '{}' | ConvertFrom-Json;
If ($args.Length -gt 0)
{
$params = Get-Content $args[0] | ConvertFrom-Json;
}
$src = '';
If (($params | Get-Member | Select-Object -ExpandProperty Name) -contains 'src')
{
$src = $params.src;
}
Else
{
If (($params | Get-Member | Select-Object -ExpandProperty Name) -contains 'path')
{
$src = $params.path;
}
}
If (-not $src)
{
}
$bytes = [System.IO.File]::ReadAllBytes($src);
$content = [System.Convert]::ToBase64String($bytes);
$result = '{}' | ConvertFrom-Json;
$result | Add-Member -MemberType NoteProperty -Name content -Value $content;
$result | Add-Member -MemberType NoteProperty -Name encoding -Value 'base64';
echo $result | ConvertTo-Json;

51
windows/stat.ps1 Normal file
View file

@ -0,0 +1,51 @@
#!powershell
# WANT_JSON
$params = '{}' | ConvertFrom-Json;
If ($args.Length -gt 0)
{
$params = Get-Content $args[0] | ConvertFrom-Json;
}
$path = '';
If (($params | Get-Member | Select-Object -ExpandProperty Name) -contains 'path')
{
$path = $params.path;
}
$get_md5 = $TRUE;
If (($params | Get-Member | Select-Object -ExpandProperty Name) -contains 'get_md5')
{
$get_md5 = $params.get_md5;
}
$stat = '{}' | ConvertFrom-Json;
If (Test-Path $path)
{
$stat | Add-Member -MemberType NoteProperty -Name exists -Value $TRUE;
$info = Get-Item $path;
If ($info.Directory) # Only files have the .Directory attribute.
{
$stat | Add-Member -MemberType NoteProperty -Name isdir -Value $FALSE;
$stat | Add-Member -MemberType NoteProperty -Name size -Value $info.Length;
}
Else
{
$stat | Add-Member -MemberType NoteProperty -Name isdir -Value $TRUE;
}
}
Else
{
$stat | Add-Member -MemberType NoteProperty -Name exists -Value $FALSE;
}
If ($get_md5 -and $stat.exists -and -not $stat.isdir)
{
$path_md5 = (Get-FileHash -Path $path -Algorithm MD5).Hash.ToLower();
$stat | Add-Member -MemberType NoteProperty -Name md5 -Value $path_md5;
}
$result = '{}' | ConvertFrom-Json;
$result | Add-Member -MemberType NoteProperty -Name stat -Value $stat;
$result | Add-Member -MemberType NoteProperty -Name changed -Value $FALSE;
echo $result | ConvertTo-Json;

87
windows/win_ping Normal file
View file

@ -0,0 +1,87 @@
#!powershell
# WANT_JSON
If ($args.Length -gt 0)
{
$params = Get-Content $args[0] | ConvertFrom-Json;
}
$data = 'pong';
If (($params | Get-Member | Select-Object -ExpandProperty Name) -contains 'data')
{
$data = $params.data;
}
$result = '{}' | ConvertFrom-Json;
$result | Add-Member -MemberType NoteProperty -Name ping -Value $data;
echo $result | ConvertTo-Json;
# _______ _ _
# |__ __| | (_)
# | | | |__ _ ___
# | | | '_ \| / __|
# | | | | | | \__ \
# __|_| |_| |_|_|___/
# |_ _|
# | | ___
# | | / __|
# _| |_\__ \
# |___/\|___/
# / \
# / /\ \
# / ____ \
# /_/ \_\
# | |
# | | __ _ _ __ __ _ ___
# | | / _` | '__/ _` |/ _ \
# | |___| (_| | | | (_| | __/
# |______\__,_|_| \__, |\___|
# __/ |
# ____ _ |___/
# | _ \| | | |
# | |_) | | ___ ___| | __
# | _ <| |/ _ \ / __| |/ /
# | |_) | | (_) | (__| <
# |____/|_|\___/ \___|_|\_\
# / __ \ / _|
# | | | | |_
# | | | | _|
# | |__| | |
# \____/|_| __ __
# / ____| | / _|/ _|
# | (___ | |_ _ _| |_| |_
# \___ \| __| | | | _| _|
# ____) | |_| |_| | | | |
# |_____/ \__|\__,_|_| |_|
# | | | |
# | |_ _ ___| |_
# _ | | | | / __| __|
# | |__| | |_| \__ \ |_
# \____/_\__,_|___/\__|
# |__ __|
# | | ___
# | |/ _ \
# | | (_) |
# __|_|\___/ _
# | \/ | | |
# | \ / | __ _| | _____
# | |\/| |/ _` | |/ / _ \
# | | | | (_| | < __/
# |_|__|_|\__,_|_|\_\___|
# |__ __| |
# | | | |__ ___
# | | | '_ \ / _ \
# | | | | | | __/
# __|_|_ |_| |_|\___|
# | ____(_) |
# | |__ _| | ___
# | __| | | |/ _ \
# | | | | | __/
# |_|__ |_|_|\___|
# | _ \(_)
# | |_) |_ __ _ __ _ ___ _ __
# | _ <| |/ _` |/ _` |/ _ \ '__|
# | |_) | | (_| | (_| | __/ |
# |____/|_|\__, |\__, |\___|_|
# __/ | __/ |
# |___/ |___/