|
|
|
#!/bin/bash ####################################################################
|
|
|
|
#
|
|
|
|
# Создан: Ср 14 авг 2013 12:07:22
|
|
|
|
# Изменён: Ср 28 авг 2013 15:08:21
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
# Дополнение команд ------------------------------------------------------------
|
|
|
|
|
|
|
|
complete -W "accounts computer config continue file \
|
|
|
|
group help helpmsg localgroup name pause print \
|
|
|
|
send session share start statistics stop time use user view" \
|
|
|
|
net
|
|
|
|
|
|
|
|
#Компоненты Панели управления Windows
|
|
|
|
complete -W 'access appwiz desk directx hdwwiz intl \
|
|
|
|
inetcpl joy mmsys ncpa netsetup odbccp32 \
|
|
|
|
powercfg sysdm timedate teltphon wuaucpl wscui' \
|
|
|
|
cpl
|
|
|
|
|
|
|
|
#Оснастки Windows
|
|
|
|
complete -W 'compmgmt gpedit dsa ciadv certmgr devmgmt \
|
|
|
|
dfrg diskmgmt eventvwr fsmgmt ntmsmgr ntmsoprq \
|
|
|
|
perfmon lusrmgr rsop services secpol wmimgmt' \
|
|
|
|
msc
|
|
|
|
|
|
|
|
complete -W "boot config continue control create delete description \
|
|
|
|
enumdepend failure failureflag getdisplayname getkeyname \
|
|
|
|
interrogate lock pause qc qdescription qfailure query \
|
|
|
|
queryex querylock sdset sdshow start stop" \
|
|
|
|
sc
|
|
|
|
|
|
|
|
#Запуск сервисов
|
|
|
|
_sc_start() {
|
|
|
|
if [[ $2 == "" ]]; then
|
|
|
|
COMPREPLY=($(sc query type= service state= inactive | grep SERVICE_NAME | cut -d ':' -f 2- ))
|
|
|
|
else
|
|
|
|
COMPREPLY=($(sc query type= service state= inactive | grep SERVICE_NAME | cut -d ':' -f 2- | grep $2 ))
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
complete -F _sc_start sc_start
|
|
|
|
|
|
|
|
#Приостановление и остановка работы сервисов
|
|
|
|
_sc_set_status() {
|
|
|
|
if [[ $2 == "" ]]; then
|
|
|
|
COMPREPLY=($(sc query type= service state= all | grep SERVICE_NAME | cut -d ':' -f 2- ))
|
|
|
|
else
|
|
|
|
COMPREPLY=($(sc query type= service state= all | grep SERVICE_NAME | cut -d ':' -f 2- | grep $2 ))
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
complete -F _sc_set_status sc_stop sc_pause sc_continue
|
|
|
|
|
|
|
|
#Дополнение имён хостов --------------------------------------------------------
|
|
|
|
|
|
|
|
#Подключение по rdp
|
|
|
|
_rdp () {
|
|
|
|
if [[ $2 == "" ]]; then
|
|
|
|
COMPREPLY=($(echo "cb\nts\nms\n$(qappsrv | tail -n +3 | tr '
' ' ')"))
|
|
|
|
else
|
|
|
|
COMPREPLY=($(echo "cb\nts\nms\n$(qappsrv | tail -n +3 | tr '
' ' ')" | grep -i $2))
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
complete -F _rdp rdp
|
|
|
|
|
|
|
|
#Подключение по vnc
|
|
|
|
_vnc() {
|
|
|
|
if [[ $2 == "" ]]; then
|
|
|
|
COMPREPLY=($(net view | grep -o '^\\\\[^[:space:]]*' | sed 's/^\\\\//'))
|
|
|
|
else
|
|
|
|
COMPREPLY=($(net view | grep -o '^\\\\[^[:space:]]*' | sed 's/^\\\\//' | grep "$2"))
|
|
|
|
fi
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
complete -F _vnc vnc
|
|
|
|
|
|
|
|
#Прочее ------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#Дополнение wiki-страниц.
|
|
|
|
#Рабочая wiki небольшая, все файлы расположены в корне директории
|
|
|
|
_wiki() {
|
|
|
|
wikidir="//file-srv/homedir$/$(whoami)/wiki/"
|
|
|
|
|
|
|
|
if [[ $2 == "" ]]; then
|
|
|
|
COMPREPLY=($(\ls -1 ${wikidir}/*.html | sed 's/^.*\/\(.*\)\.html$/\1/; s/ /_/g'))
|
|
|
|
else
|
|
|
|
COMPREPLY=($(\ls -1 ${wikidir}/*.html | sed 's/^.*\/\(.*\)\.html$/\1/; s/ /_/g' | grep "^$2"))
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
complete -F _wiki wiki
|
|
|
|
|