(VPN管理工具-已完成)作业 -12.22.note


·powershell 脚本:
while($True){
$chose = Read-Host("请选择你要进行的操作(输入数字编号):
1、用户管理。
2、设置访问权限。
3、启动、关闭 VPN服务。
4、生成一个 VPNProfile。
5、退出。
")
if($chose -eq 1){while($true){
$a = Read-Host("请选择你要管理用户的选项:(输入数字编号)
1、创建 VPN用户。
2、删除 VPN用户。
3、查看 VPN用户。
4、返回上一级。
")
if($a -eq 1){
$user = Read-Host("请输入你要创建的用户名:
")
$password = Read-Host("请输入该用户的密码:")
$aaa = Get-LocalUser -Name $user
if($aaa){Read-Host("
用户已存在,输入回车确认:
")}
else{
net user $user $password /add /domain
Read-Host("用户创建成功,输入回车确认:")
}}
elseif($a -eq 2){
$user = Read-Host("请输入你要删除的用户名:
")
$aaa = Get-LocalUser -Name $user
if($aaa){
net user $user /delete /domain
Read-Host("删除用户成功,输入回车继续:")
}
else{Read-Host("用户不存在,输入回车继续:
")}
}
elseif ($a -eq 3) {
net user
Read-Host("以上是 VPN 用户。输入回车继续...")
}
elseif($a -eq 4){break}
}
}
elseif($chose -eq 2){
$accept = Read-Host("请输入允许访问 VPN 的组")
$drop = Read-Host("请输入拒绝访问 VPN 的组")
while($true){
$num = Read-Host("请输入你要进行的操作:(输入数字编号)
1、设置 允许用户访问。
2、设置 拒绝用户访问。
3、查看当前 白名单/黑名单。
4、返回上一级。
")
if ($num -eq 1) {
$user = Read-Host("请输入你要 允许访问VPN 的用户:")
$user = Get-LocalUser -Name $user
if ($user) {
net localgroup $drop $user /delete
net localgroup $accept $user /add
Read-Host("添加成功!输入回车继续...")
}
else{Read-Host("该用户不存在!输入回车继续...")}
}
elseif ($num -eq 2) {
$user = Read-Host("请输入你要 拒绝访问VPN 的用户:")
$user = Get-LocalUser -Name $user
if ($user) {
net localgroup $accept $user /delete
net localgroup $drop $user /add
Read-Host("添加成功!输入回车继续...")
}
else {Read-Host("该用户不存在!输入回车继续...")}
}
elseif ($num -eq 3) {
while($true){$user = Read-Host("请输入你要 查看的名单:(输入数字编号)
1、白名单(允许连接的用户)
2、黑名单(拒绝连接的用户)
3、返回上一级。")
if ($user -eq 1 ){
net localgroup $accept
Read-Host("以上是允许连接的用户!输入回车继续...")
}
elseif ($user -eq 2) {
net localgroup $drop
Read-Host("以上是允许拒绝的用户!输入回车继续...")
}
elseif ($user -eq 3) {break}
}
}
elseif ($num -eq 4) {break}
}
}
elseif($chose -eq 3){
Import-Module RemoteAccess
while($true){
$num = Read-Host("请输入你要进行的操作:(输入数字编号)
1、重启 VPN 服务。
2、停止 VPN 服务。
3、启动 VPN 服务。
4、返回上一级。")
if ($num -eq 1) {
restart-service RemoteAccess
Read-Host("成功重启 VPN 服务!输入回车继续...")
}
elseif ($num -eq 2) {
stop-service RemoteAccess
Read-Host("成功停止 VPN 服务!输入回车继续...")
}
elseif ($num -eq 3) {
start-service RemoteAccess
Read-Host("成功启动 VPN 服务!输入回车继续...")
}
elseif ($num -eq 4) {break}
}
}
elseif($chose -eq 4){
$name = Read-Host("请输入 VPN 连接器名称:")
$address = Read-Host("请输入 VPN 服务器的地址")
Remove-VpnConnection -Name $name -ErrorAction Ignore -Force
Add-VpnConnection -Name $name -ServerAddress $address -TunnelType PPTP
Read-Host("VPN连接器 创建成功!输入回车继续...")
}
elseif($chose -eq 5){break}
}
VPN 黑名单、白名单 可以手动配置两个组,一个组允许,一个组拒绝,用户加入 这些组达到拒绝和允许的操作