Browse Source

feat: office activation commands

master
Dnomd343 3 years ago
parent
commit
ed2e024e46
  1. 54
      backend/kms-office.php

54
backend/kms-office.php

@ -26,13 +26,13 @@ $osppDescriptionCn[] = '显示当前已安装的所有许可证信息';
$osppOption[] = '/unpkey:XXXXX'; $osppOption[] = '/unpkey:XXXXX';
$osppDescription[] = 'Uninstalls an product key with the last five digits of it.'; $osppDescription[] = 'Uninstalls an product key with the last five digits of it.';
$osppDescriptionCn[] = '卸载已安装的产品密钥,取密钥的最后 5 位数'; $osppDescriptionCn[] = '卸载已安装的产品密钥(最后5位)';
$osppOption[] = '/inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX'; $osppOption[] = '/inpkey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX';
$osppDescription[] = 'Installs a product key with a user-provided product key.'; $osppDescription[] = 'Installs a product key with a user-provided product key.';
$osppDescriptionCn[] = '安装产品密钥'; $osppDescriptionCn[] = '安装产品密钥';
$osppOption[] = '/sethst:kms.XXX.XX'; $osppOption[] = '/sethst:kms.xxx.xx';
$osppDescription[] = 'Sets a KMS host name with a user-provided host name.'; $osppDescription[] = 'Sets a KMS host name with a user-provided host name.';
$osppDescriptionCn[] = '设置 KMS 主机名'; $osppDescriptionCn[] = '设置 KMS 主机名';
@ -44,7 +44,7 @@ $osppOption[] = '/act';
$osppDescription[] = 'Activates installed Office product keys.'; $osppDescription[] = 'Activates installed Office product keys.';
$osppDescriptionCn[] = '激活 Office'; $osppDescriptionCn[] = '激活 Office';
function loadOfficeCmd() { function loadOfficeCmd() { // 初始化Office激活命令
global $webSite, $office; global $webSite, $office;
$activeCmd = 'cscript ospp.vbs /sethst:' . $webSite . PHP_EOL . 'cscript ospp.vbs /act'; $activeCmd = 'cscript ospp.vbs /sethst:' . $webSite . PHP_EOL . 'cscript ospp.vbs /act';
$activeCmd .= PHP_EOL . 'cscript ospp.vbs /dstatus' . PHP_EOL; $activeCmd .= PHP_EOL . 'cscript ospp.vbs /dstatus' . PHP_EOL;
@ -53,22 +53,56 @@ function loadOfficeCmd() {
} }
} }
function showOfficeHelp() { function showOfficeHelp() { // 命令行输出Office激活帮助
loadOfficeCmd(); loadOfficeCmd();
global $office; global $office, $osppOption, $osppDescription, $osppDescriptionCn;
$index = '2010';
foreach ($office as $index => $officeKmsCmd) { foreach ($office as $index => $officeKmsCmd) {
echo str_pad('', 34, ' ') . 'Office Professional Plus ' . $index . ' VL Activation Command' . PHP_EOL; echo str_pad('', 34, ' ') . 'Office Professional Plus ' . $index . ' VL Activation Command' . PHP_EOL;
echo str_pad('', 120, '-') . PHP_EOL; echo str_pad('', 120, '-') . PHP_EOL;
echo $officeKmsCmd; echo $officeKmsCmd;
echo str_pad('', 120, '-') . PHP_EOL . PHP_EOL; echo str_pad('', 120, '-') . PHP_EOL . PHP_EOL;
} }
// TODO: Warning of VL version $length = 0;
// Usage of ospp.vbs $length_first = 0;
foreach ($osppOption as $index => $option) { // 获取最长的字符串长度
$strLength = strlen($option) + strlen($osppDescription[$index]);
if ($length < $strLength) {
$length = $strLength;
$length_first = strlen($option);
}
}
$title = 'Common activation commands';
echo str_pad('', floor(($length - strlen($title) + 26) / 2), ' ') . $title . PHP_EOL;
echo '┏' . str_pad('', $length + 24, '-') . '┓' . PHP_EOL;
foreach ($osppOption as $index => $option) {
echo '| cscript ospp.vbs ' . str_pad($osppOption[$index], $length_first, ' ') . ' | ';
echo str_pad($osppDescription[$index], $length - $length_first + 2, ' ') . ' |' . PHP_EOL;
}
echo '┗' . str_pad('', $length + 24, '-') . '┛' . PHP_EOL . PHP_EOL;
echo 'These commands are only applicable to the VL version of Office.' . PHP_EOL;
echo 'If it is a Retail version, please convert it to Volume first.' . PHP_EOL . PHP_EOL;
} }
function webOfficeHelp() { function webOfficeHelp() { // 网页输出Office激活帮助
// TODO: Web of Office KMS Activation loadOfficeCmd();
global $office, $osppOption, $osppDescription, $osppDescriptionCn;
echo '<!DOCTYPE html><html><head><meta charset="utf-8">';
echo '<meta name="viewport" content="width=device-width, initial-scale=1.0"><title>';
echo 'Office KMS Server';
echo '</title><link rel="stylesheet" href="./assets/style.css" /></head><body><div>';
foreach ($office as $officeVersion => $officeKmsCmd) {
echo '<h2>Office Professional Plus ' . $officeVersion . ' VL</h2>' . PHP_EOL;
echo '<pre><code>' . $officeKmsCmd . '</code></pre>' . PHP_EOL;
}
echo '<h2>常用激活命令</h2>' . PHP_EOL;
echo '<table><thead><tr><th>命令</th><th>说明</th></tr></thead><tbody>';
foreach ($osppOption as $index => $option) {
echo '<tr><td>cscript ospp.vbs ' . $option . '</td>';
echo '<td>' . $osppDescriptionCn[$index] . '</td></tr>';
}
echo '</tbody></table><br>' . PHP_EOL;
echo '<p>以上命令仅用于激活VL版本的Office,如果当前为Retail版本,请先转化为批量授权版本。</p>' . PHP_EOL;
echo '</div></body></html>';
} }
?> ?>
Loading…
Cancel
Save