PowerShell Install VNC-Server & VNC-Viewer

Posted CIAS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PowerShell Install VNC-Server & VNC-Viewer相关的知识,希望对你有一定的参考价值。

前言

VNC®Connect是一款屏幕共享、远程控制电脑软件,可以让您连接到世界上任何地方的远程计算机,实时观看其屏幕,并像坐在它前面一样进行控制。RealVNC可以将人和设备连接到任何地方,实现控制、支持、管理、监控、培训、协作等等。省时省钱,提高效率,降低风险,创造新的商机。

VNC®Connect特征

触手可及; 软件易于使用,这使得它更易于部署到组织中的每个人; 无需为不需要的功能付费。

  • 直观远程控制: 使用面前的鼠标和键盘(或触摸屏),它们就像属于远程计算机的一样。
  • 久经考验的性能:我们受专利保护的技术会自动优化您的网络速度,在低带宽和高延迟环境中特别有效。
  • 支持跨平台: Windows,Mac,Linux,Raspberry Pi,iosandroid
  • 直接和云连接: 您无需依赖VPN或进行复杂且不安全的端口转发和防火墙配置。
  • 预安装或按需连接: 将设备访问权限添加到您的订阅中,在您拥有或管理的每台设备上安装VNC®Connect,并允许任何人随时访问。
  • 文件传输、打印和聊天: 可以双向传输文件,直接将文件打印到您所在的打印机(而不是连接到远程计算机的打印机),并与您同时连接的其他用户安全地聊天。
  • 设计安全: 使用多达256位AES加密对会话进行端到端加密。
  • 多语言支持:支持法语,德语,西班牙语和巴西葡萄牙语以及英语,同时还有更多翻译版本。
  • 远程部署: 通过企业订阅,您可以使用标准企业工具批量,离线或远程部署VNC®Connect。
  • Linux下的虚拟机: 通过企业订阅,您可以在Linux计算机上创建虚拟桌面。

VNC-Server download

VNC-Serverdownload
VNC-Viewerdownload
VNC-Server & 文档参考
Powershell 使用使用参数参考

 前提条件

  • 开启wmi,配置网卡,参考 

创建一键安装VNC自动化脚本

  • Expand-Archive #解压文件
  • Start-Process # 安装,等待安装完成在执行下一个
  • Remove-Item #删除安装文件
  • VNC.zip #此包是下载后压缩的
  • Get-Command | where $_.Definition -like "*PassThru*" | select Name #查询那些命令支持-PassThru
  • -PassThru #输出新打开的记事本的信息,并且用户可以将该进程信息保存到变量中
  • schtasks #计划任务参考
powershell-install-VNC_Server.ps1
<# Powershell Install VNC Server & VNC-Viewer
+++++++++++++++++++++++++++++++++++++++++++++++++++++
+  _____                       _____ _          _ _ +
+ |  __ \\                     / ____| |        | | |+
+ | |__) |____      _____ _ _| (___ | |__   ___| | |+
+ |  ___/ _ \\ \\ /\\ / / _ \\ '__\\___ \\| '_ \\ / _ \\ | |+
+ | |  | (_) \\ V  V /  __/ |  ____) | | | |  __/ | |+
+ |_|   \\___/ \\_/\\_/ \\___|_| |_____/|_| |_|\\___|_|_|+
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
                                                                                                              
# Powershell Install VNC Server & VNC-Viewer
# .\\powershell-install-VNC_Server.ps1
#> 

$drive = "D:\\"
$VNC_catalogue="VNC"
$VNC_Server="VNC-Server-6.10.0-Windows.exe"
$VNC_Viewer="VNC-Viewer-6.22.515-Windows.exe"
$VNC_zip="VNC.zip"

Write-Host "decompression VNC" -ForegroundColor Green
Expand-Archive -Path $drive$VNC_zip -DestinationPath $drive

#Write-Host "download VNC Server" -ForegroundColor Green
#wget -Uri https://downloads.realvnc.com/download/file/vnc.files/VNC-Server-6.10.0-Windows.exe -UseBasicParsing -OutFile d:\\VNC-Server-6.10.0-Windows.exe

Write-Host "Install VNC Server" -ForegroundColor Green
Start-Process -FilePath "$drive$VNC_catalogue\\$VNC_Server" -ArgumentList "/qn REBOOT=ReallySuppress LICENSEKEY=BQUBV-X3DZQ-HT3DK-YH894-KT2SA ENABLEAUTOUPDATECHECKS=1 ENABLEANALYTICS=1" -Wait -verbose

Write-Host "Install VNC Viewer" -ForegroundColor Green
Start-Process -FilePath "$drive$VNC_catalogue\\$VNC_Viewer" -ArgumentList "/qn REBOOT=ReallySuppress ENABLEAUTOUPDATECHECKS=1 ENABLEANALYTICS=1" -Wait -verbose

Write-Host "delete VNC software package" -ForegroundColor Green
Remove-Item $drive\\VNC* -recurse -force -verbose

Write-Host "start VNC Server" -ForegroundColor Green
Start-Process -FilePath "C:\\Program Files\\RealVNC\\VNC Server\\vncserver.exe"

Write-Host "start VNC Viewer" -ForegroundColor Green
Start-Process -FilePath "C:\\Program Files\\RealVNC\\VNC Viewer\\vncviewer.exe"

Write-Host "bootstrap VNC Server" -ForegroundColor Green
Start-Process schtasks /create /tn vncserver /tr "C:\\Program Files\\RealVNC\\VNC Server\\vncserver.exe" /sc ONLOGON -Verb runas

Write-Host "bootstrap VNC Viewer" -ForegroundColor Green
Start-Process schtasks /create /tn vncviewer /tr "C:\\Program Files\\RealVNC\\VNC Viewer\\vncviewer.exe" /sc ONLOGON -Verb runas

执行安装

.\\powershell-install-VNC_Server.ps1

输出结果展示 

命令行打开appwiz.cpl程序和功能

命令行打开taskschd.msc计划任务,重启后服务会再次启动

批量主机部署VNC

  • $user="administrator" # 你的主机管理员用户
  • $password=ConvertTo-SecureString "YOU_host_password" -AsPlainText -Force #你的管理员密码
  • $cred=New-Object System.Management.Automation.PSCredential($user,$password)
  • $pchost='192.168.15.251' #主机多少个' ',形式放开
  • $port=5985 #默认连接端口
  • $local_path="D:\\VNC\\*" #本地存储的VNC部署脚本和VNC安装程序,目录包含部署VNC自动化脚本powershell-install-VNC_Server.ps1
  • $Destination="d:\\" #拷贝到远程主机磁盘下
powershell-Remote-Software-Installation_VNC.ps1
<# Powershell Remote Software Installation
+++++++++++++++++++++++++++++++++++++++++++++++++++++
+  _____                       _____ _          _ _ +
+ |  __ \\                     / ____| |        | | |+
+ | |__) |____      _____ _ _| (___ | |__   ___| | |+
+ |  ___/ _ \\ \\ /\\ / / _ \\ '__\\___ \\| '_ \\ / _ \\ | |+
+ | |  | (_) \\ V  V /  __/ |  ____) | | | |  __/ | |+
+ |_|   \\___/ \\_/\\_/ \\___|_| |_____/|_| |_|\\___|_|_|+
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
                                                                                                              
# Remote Software Installation
# .\\powershell-Remote-Software-Installation_VNC.ps1
#> 

$user="administrator"
$password=ConvertTo-SecureString "YOU_host_password" -AsPlainText -Force
$cred=New-Object System.Management.Automation.PSCredential($user,$password)
$pchost='192.168.15.251'
$port=5985

$local_path="D:\\VNC\\*"
$Destination="d:\\"

foreach($server in $pchost)

#Create a session with remote computer using New-Session
$Session=New-PSSession -ComputerName $server -Credential $cred

Write-Host "Log on to the host $pchost" -ForegroundColor Green
Enter-PSSession -ComputerName $server -port $port -Credential $cred

#Write-Host "Execute local script to take effect on remote server $pchost" -ForegroundColor Green
#Invoke-Command -filepath D:\\Powershell-Windows_Admin_Center-install\\powershell-install-Windows-Admin-Center.ps1 -ComputerName $server -Credential $cred

Write-Host "Use Copy-Item to copy files to a remote computer $pchost" -ForegroundColor Green
Copy-Item -Path "$local_path" -Destination $Destination -ToSession $session -Recurse

Write-Host "Execute the script directly on the server directory $pchost" -ForegroundColor Green
Invoke-Command -ComputerName $server -Credential $cred -ScriptBlock 
invoke-expression -command D:\\powershell-install-VNC_Server.ps1
 

执行批量主机部署VNC

.\\powershell-Remote-Software-Installation_VNC.ps1

以上是关于PowerShell Install VNC-Server & VNC-Viewer的主要内容,如果未能解决你的问题,请参考以下文章

powershell install_chocolatey.ps1

powershell Windows 10 Fresh Install(Chocolatey + Boxstarter)

powershell PS_v5_install.ps1

PowerShell Install Mysql 8

PowerShell Install Mysql 8

PowerShell Install Redis