定制 alissonpelizaro/ssh_powershell 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

alissonpelizaro/ssh_powershell

Composer 安装命令:

composer require alissonpelizaro/ssh_powershell

包简介

Remote Powershell SSH access

README 文档

README

Aplicação em PHP pronta para realizar comandos powershell em um servidor Windows remotamente a partir de um Servidor Linux.

Requisitos

  • Servidor Windows precisa ter o serviço SSH habilitado
  • PHP >= 5.3.3

Instalação

composer require alissonpelizaro/ssh_powershell

Dependências

  • phpseclib/phpseclib >= 2.0.21

Executar em CLI

(parâmetro "-d" habilita DEBUG-MODE)

php service.php -d

Executar em browser

require __DIR__.'/core.php';

$host = "host_remoto";
$user = "usuario";
$pass = "senha";

$ssh = new SSH_Conn($host, $user, $pass, $debug);
$powershell = new PowerShell($ssh);

Exemplos de comandos

//Exemplo para obter a lista de todos os usuários
print_r($powershell->getUsers());

//Exemplo para procurar um usuário especifico
print_r($powershell->getUser('alisson'));

//Exemplo para procurar um usuário
print_r($powershell->searchUser('HomePhone', '4130305525'));

//Exemplo para resetar a senha de um usuário
$powershell->resetPassword('alisson', 'novaSenha123');

//Exemplo para executar qualquer comando powershell
$powershell->exec('powershell Set-ADUser -Identity alisson -PasswordNeverExpires $true');

Utilização de LOG

Por permitir ser executado em CLI e em alguns casos de forma não assistida, a melhor forma de monitoração é o LOG. A aplicação já salva todos os comandos em LOG no arquivo ssh.log. Para setar um log adicional basta chamar o seguinte método estático:

Log::create('Descrição do log', {true para log de erro}, {true para matar a aplicação após regitro});

Exemplos:

//Grava LOG como informativo
Log::create('Processo executado com sucesso');

//Grava LOG como erro
Log::create('Erro ao executar comando', true);

//Grava LOG como erro e mata a aplicação
Log::create('Erro ao executar o comando', true, true);

//Grava LOG como informativo e mata a aplicação
Log::create('Comando executado', false, true);

Comandos PowerShell

getUsers()

Trás um array com todos os usuários do servidor.

$users = $powershell->getUsers();

searchUser()

Procura usuários com base nos filtros passados

$users = $powershell->searchUser('HomePhone', '554130304545');

getUser()

Pega dados de um usuário específico de acordo com seu CN

$user = $powershell->getUser('alisson');

exec()

Executa qualquer comando powershell passado como parâmetro

$comando = $powershell->exec('powershell Get-ADuser joao.silva -properties *');

resetPassword()

Troca a senha de acesso de um usuário

$powershell->resetPassword('alisson', 'nova$enha123');

askNewPassword()

Define pedido de nova senha no próximo logon (verdadeiro ou falso)

$powershell->askNewPassword('alisson', true);

setExpiredPass()

Seta a configuração "Senha nunca expira" de um usuário (verdadeiro ou falso)

$powershell->setExpiredPass('alisson', true);

统计信息

  • 总下载量: 26
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: RPL-1.5
  • 更新时间: 2019-09-30

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固