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

noteId: 8770C67A30B64564ACC38A2A98F079B1 · 原始路径:/ALL/Windows - B模块/服务配置/Windows Powershell/(VPN管理工具-已完成)作业 -12.22.note · 图片:2 · 附件待处理:1

 
 
 
·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 黑名单、白名单 可以手动配置两个组,一个组允许,一个组拒绝,用户加入 这些组达到拒绝和允许的操作