Table of Contents

Top#OS Management

Windows Check with Fabric (wincheck.py)

$FHHOME/fabfile/wincheck.py


Operation with Fabric

$ fab  -l |grep wincheck.
$ echo xx.xx.xx.xx | fab  auth.pro  wincheck.xxxx


How to Check to Use Fabric in Windows

$ ssh user01@xx.xx.xx.xx hostname
$ ssh user01@xx.xx.xx.xx "PowerShell.exe -Command Get-Host"


Fabric one-line Task Examples

Cmd.exe

$ fab -H xx.xx.xx.xx -u USER -p PASSWORD --shell="Cmd.exe /C" --no-pty -- hostname
$ echo xx.xx.xx.xx | fab auth.winpro --shell="Cmd.exe /C" --no-pty  -- ipconfig /all

PowerShell.exe

$ fab -H xx.xx.xx.xx -u USER -p PASSWORD --shell="" --no-pty -- "PowerShell.exe -Command Get-Host"
$ fab -H xx.xx.xx.xx -u USER -p PASSWORD --shell="PowerShell.exe -Command" auth.wintib  --no-pty -- Get-Host

## This isn't work well. Why? Please tell me.
$ fab -H xx.xx.xx.xx -u USER -p PASSWORD --shell="" --no-pty -- "PowerShell.exe -Command $PSVersionTable"
$ fab -H xx.xx.xx.xx -u USER -p PASSWORD --shell="PowerShell.exe -Command" auth.wintib  --no-pty -- $PSVersionTable


wincheck.py

$FHHOME/fabfile/wincheck.py

import sys, os
from fabric.api import *
from fabric.contrib import files

FHHOME=os.environ["FHHOME"]


#------------------------------------------------------------------
# wincheck.ipconfig_all
#------------------------------------------------------------------
@task
def chcp437():
    """chcp 437 # Change LANG To English"""
    run("chcp 437", shell=False, pty=False)


#================================================================================
# Network
#================================================================================
#------------------------------------------------------------------
# wincheck.ipconfig_all
#------------------------------------------------------------------
@task
def ipconfig_all():
    run("ipconfig /all", shell=False, pty=False)

#------------------------------------------------------------------
# wincheck.netstat_rn
#------------------------------------------------------------------
@task
def netstat_rn():
    run("netstat -rn", shell=False, pty=False)

#------------------------------------------------------------------
# wincheck.test_netconnection:host,port
#------------------------------------------------------------------
@task
def test_netconnection(host,port):
    """test_netconnection(host,port)"""
    run('PowerShell.exe -Command $ProgressPreference="SilentlyContinue', shell=False, pty=False)
    run("PowerShell.exe -Command Test-NetConnection %s -Port %s" (host,port), shell=False, pty=False)



#================================================================================
# User
#================================================================================
#------------------------------------------------------------------
# wincheck.net_user
#------------------------------------------------------------------
@task
def net_user():
    """ user list"""
    run("net user", shell=False, pty=False)

#------------------------------------------------------------------
# wincheck.net_user:
#------------------------------------------------------------------
@task
def net_user(user):
    run("net user %s" % user, shell=False, pty=False)

#------------------------------------------------------------------
# wincheck.net_user_active:
#------------------------------------------------------------------
@task
def net_user_active(user):
    """ make user active from disable"""
    run("net user %s /active" % user, shell=False, pty=False)


#------------------------------------------------------------------
# wincheck.net_localgroup_administrators
#------------------------------------------------------------------
@task
def net_localgroup_administrators():
    run("net localgroup administrators", shell=False, pty=False)

#------------------------------------------------------------------
# wincheck.net_localgroup_users
#------------------------------------------------------------------
@task
def net_localgroup_users():
    run("net localgroup users", shell=False, pty=False)



#================================================================================
# etc
#================================================================================
#------------------------------------------------------------------
# wincheck.systeminfo
#------------------------------------------------------------------
@task
def systeminfo():
    run("systeminfo", shell=False, pty=False)

#------------------------------------------------------------------
# wincheck.powershell_version
#------------------------------------------------------------------
@task
def powershell_version():
    run("PowerShell.exe -Command $PSVersionTable", shell=False, pty=False)



Top#OS Management





Top#OS Management