update fix deadcode, security

This commit is contained in:
baodev0
2026-09-28 08:26:29 +07:00
parent 3af59bd9c5
commit 82080b5b84
452 changed files with 4857 additions and 26289 deletions
@@ -57,19 +57,6 @@ class PowerShellService
}
}
public function loginSSH(): bool
{
$conn = $this->LoginAuth();
if ($conn) {
Log::info("✅ Connected to vCenter via SSH successfully");
return true;
}
Log::error("❌ Failed to connect to vCenter via SSH");
return false;
}
public function runPsCommand(string $psCommand): string
{
$auth = $this->LoginAuth();
@@ -202,34 +189,6 @@ PS;
return "Error: " . $e->getMessage();
}
}
public function resetGuestPasswordViaPs1(string $vmName, string $guestUser, string $guestPassword, string $newPassword, string $targetUser = 'Administrator'): array|string
{
$psFile = "C:\\CLISave\\AssignIP\\SetGuestPwd.ps1";
$args = ' -VMName ' . PowerShellEscaper::singleQuote($vmName);
$args .= ' -GuestUser ' . PowerShellEscaper::singleQuote($guestUser);
$args .= ' -GuestPassword ' . PowerShellEscaper::singleQuote($guestPassword);
$args .= ' -TargetUser ' . PowerShellEscaper::singleQuote($targetUser);
$args .= ' -NewPassword ' . PowerShellEscaper::singleQuote($newPassword);
$cmd = '& ' . PowerShellEscaper::singleQuote($psFile) . "{$args} | Out-String";
$raw = $this->CommandRSP($cmd);
if ($raw === 'Login_Fail' || $raw === false || $raw === null) {
return "Login_Fail";
}
$trim = trim($raw);
$data = json_decode($trim, true);
if (json_last_error() !== JSON_ERROR_NONE) {
if (preg_match('/(\{.*\}|\[.*\])/s', $trim, $m)) {
$data = json_decode($m[1], true);
}
}
return $data ?: $raw;
}
public function changeRDPPortWindows(string $vmName, string $guestUser, string $guestPassword, string $newPort): array|string
{
@@ -328,27 +287,4 @@ PS;
return (string) $this->CommandRSP($Command);
}
public function getWindowsRdpPort(string $vmwareId, string $guestUser, string $guestPassword): ?int
{
$ps = "(Get-ItemProperty 'HKLM:\\System\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp' -Name PortNumber).PortNumber";
$cmd = 'Invoke-VMScript -VM ' . PowerShellEscaper::singleQuote($vmwareId)
. ' -ScriptText ' . PowerShellEscaper::singleQuote($ps)
. ' -ScriptType Powershell'
. ' -GuestUser ' . PowerShellEscaper::singleQuote($guestUser)
. ' -GuestPassword ' . PowerShellEscaper::singleQuote($guestPassword);
$output = $this->CommandRSP($cmd);
if (!$output || str_contains($output, 'Login_Fail')) {
return null;
}
if (preg_match('/\b(\d{2,5})\b/', $output, $m)) {
return (int) $m[1];
}
return null;
}
}