远程部署工具ZEQP-PSDeploy

发布时间:2026/7/10 1:00:46

远程部署工具ZEQP-PSDeploy
安装把此代码下载或通过git clone到本地然后在目录下面以管理员方式运行Install.ps1git clone https://github.com/ZEQP/ZEQP-PSDeploy.gitcd .\ZEQP-PSDeploy.\Install.ps1创建/关闭PSSession#通过弹出框输入密码$Credential Get-Credential -UserName “Administrator” -Message “请输入部署服务器的用户名和密码”#默认用HTTP-5985端口$Session New-PSSession -ComputerName 10.100.12.100 -Credential $Credential#中间过程处理 TODO#处理完成后关闭连接Remove-PSSession -Session $Session#直接创建PSSession$Password ConvertTo-SecureString “{PassWord}” -AsPlainText -Force$Credential New-Object System.Management.Automation.PSCredential(“Administrator”, $Password)##默认用HTTPS-5986端口$SessionOption New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck$Session New-PSSession -ComputerName 10.100.12.100 -Port 5986 -Credential $Credential -UseSSL -SessionOption $SessionOption#中间过程处理 TODO#处理完成后关闭连接Remove-PSSession -Session $Session自动编译然后发布到指定服务器IIS站点示例为dotnet后端项目实际支持任意言语项目只用写特定语言的编译发布命令就行Start-DeployIIS -SessionKaTeX parse error: Expected }, got EOF at end of input: …ck { param(o) dotnet publish -o $o -c “Debug” -f net8.0 --no-self-contained -v m --nologo /p:EnvironmentNameTest} -OutputPath .\bin\publish\ -RemotePath “D:\Publish”前端项目示例为nodejs的项目用yarn编译实际支持任意言语项目只用写特定语言的编译发布命令就行Start-DeployIIS -Session $Session -WebSiteName MyUIWebSite -WebSitePort 8081 -ScriptBlock {yarn run build:test} -OutputPath .\dist\ -RemotePath “D:\Publish”自动编译然后发布为服务Start-DeploySvc -SessionKaTeX parse error: Expected }, got EOF at end of input: …k { param(o) dotnet publish -o $o -c “Debug” -f net8.0 --no-self-contained -v m --nologo -p:EnvironmentNameTest} -OutputPath .\bin\publish\ -RemotePath “D:\Publish”直接部署文件#直接把DeployFile目录复制到服务器Publish目录下面,实际路径为D:\Publish\DeployFileStart-DeployFile -Session $Session -Path D:\DeployFile\ -RemotePath “D:\Publish” -Compress#直接把DeployFile目录下所有文件复制到服务器D:\Publish\DeployFile目录下面Start-DeployFile -Session $Session -Path D:\DeployFile* -RemotePath “D:\Publish\DeployFile” -Compress示例直接部署IIS站点在目录下创建PowerShell脚本文件Deploy.ps1$Credential Get-Credential -UserName “Administrator” -Message “请输入部署服务器的用户名和密码”$SessionOption New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck$Session New-PSSession -ComputerName 10.100.12.100 -Port 5986 -Credential $Credential -UseSSL -SessionOption $SessionOptionStart-DeployIIS -SessionKaTeX parse error: Expected }, got EOF at end of input: …ck { param(o) dotnet publish -o $o -c “Release” -f net8.0 --no-self-contained --no-restore -v m --nologo /p:EnvironmentNameProduction} -OutputPath .\bin\publish\ -RemotePath “D:\Publish”Remove-PSSession -Session $Session直接部署Windows服务在目录下创建PowerShell脚本文件Deploy.ps1$Credential Get-Credential -UserName “Administrator” -Message “请输入部署服务器的用户名和密码”$SessionOption New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck$Session New-PSSession -ComputerName 10.100.12.100 -Port 5986 -Credential $Credential -UseSSL -SessionOption $SessionOptionStart-DeploySvc -SessionKaTeX parse error: Expected }, got EOF at end of input: …k { param(o) dotnet publish -o $o -c “Release” -f net8.0 --no-self-contained --no-restore -v m --nologo -p:EnvironmentNameProduction} -OutputPath .\bin\publish\ -RemotePath “D:\Publish”Remove-PSSession -Session $Session批量部署多个服务在目录下创建PowerShell脚本文件Deploy.ps1$Credential Get-Credential -UserName “Administrator” -Message “请输入部署服务器的用户名和密码”$SessionOption New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck$Session New-PSSession -ComputerName 10.100.12.100 -Port 5986 -Credential $Credential -UseSSL -SessionOption $SessionOption#进入MyAPPWebSite目录下编译Set-Location -Path $MyAPPWebSitePathStart-DeployIIS -SessionKaTeX parse error: Expected }, got EOF at end of input: …ck { param(o) dotnet publish -o $o -c “Release” -f net8.0 --no-self-contained --no-restore -v m --nologo /p:EnvironmentNameProduction} -OutputPath .\bin\publish\ -RemotePath “D:\Publish”#进入MyAPPService目录下编译Set-Location -Path $MyAPPServicePathStart-DeploySvc -SessionKaTeX parse error: Expected }, got EOF at end of input: …k { param(o) dotnet publish -o $o -c “Release” -f net8.0 --no-self-contained --no-restore -v m --nologo -p:EnvironmentNameProduction} -OutputPath .\bin\publish\ -RemotePath “D:\Publish”Remove-PSSession -Session $Session部署示例方法描述Start-DeployIISStart-DeployIIS 用于本地构建并自动部署到远程 IIS 网站参数说明如下-Session 远程 PowerShell 会话对象必须已打开并连接到目标服务器。脚本会在该会话中创建、停止、启动 IIS 站点并上传 ZIP 文件。-ScriptBlock 本地构建脚本块用于生成部署产物。ScriptBlock 内通常使用 param($o) 接收输出目录并将构建结果写入 -OutputPath 指定的目录。-OutputPath 本地输出目录。脚本会检查路径是否存在不存在则创建存在则清空目录后执行构建并将输出文件压缩为 ZIP 包。-WebSiteName 目标 IIS 网站名称。脚本会尝试查找该站点若不存在则新建部署时会将内容解压到远程目录中的同名子目录。-WebSitePort 目标 IIS 网站端口用于创建新站点时绑定端口。若站点已存在则不会修改现有绑定。-RemotePath 目标服务器的远程发布目录默认值为 D:\Publish\。ZIP 文件会上传到此目录然后在目标服务器上解压到 RemotePath\WebSiteName。脚本执行流程检查并准备本地 OutputPath。执行 ScriptBlock 生成部署文件。压缩 OutputPath 内容为 ZIP。上传 ZIP 到远程服务器 RemotePath。查找或创建指定 WebSiteName 的 IIS 站点。停止网站、清理旧文件、解压新文件并重新启动网站。Start-DeploySvcStart-DeploySvc 用于本地构建并自动部署到远程 Windows 服务参数说明如下-Session 远程 PowerShell 会话对象必须已打开并连接到目标服务器。脚本会在该会话中创建、停止、启动服务并上传 ZIP 文件。-ScriptBlock 本地构建脚本块用于生成部署产物。ScriptBlock 内通常使用 param($o) 接收输出目录并将构建结果写入 -OutputPath 指定的目录。-OutputPath 本地输出目录。脚本会检查路径是否存在不存在则创建存在则清空目录后执行构建并将输出文件压缩为 ZIP 包。-ServiceName 目标 Windows 服务名称。脚本会尝试查找该服务若不存在则新建部署时会将内容解压到远程目录中的同名子目录。-BinaryName 服务可执行文件名称及启动参数例如 “Giant.DI.exe --environment Test”。该值用于创建服务时的 ImagePath。-RemotePath 目标服务器的远程发布目录默认值为 D:\Publish\。ZIP 文件会上传到此目录然后在目标服务器上解压到 RemotePath\ServiceName。脚本执行流程检查并准备本地 OutputPath。执行 ScriptBlock 生成部署文件。压缩 OutputPath 内容为 ZIP。上传 ZIP 到远程服务器 RemotePath。查找或创建指定 ServiceName 的 Windows 服务。停止服务、清理旧文件、解压新文件并重新启动服务。Start-DeployFileStart-DeployFile 用于将本地文件或目录直接发布到远程服务器可选压缩上传并支持本地/远程前后置脚本参数说明如下-Session 远程 PowerShell 会话对象必须已打开并连接到目标服务器。该参数用于远程文件复制和执行远程脚本。-Path 本地文件或目录路径。可以是目录、文件或通配符路径例如 D:\DeployFile*。脚本会在本地验证该路径是否存在。-RemotePath 目标服务器上的发布目录。上传时会将文件复制到该目录如果目录不存在脚本会自动创建。-Compress是否先将本地文件/目录压缩为 ZIP 后再上传。启用后会上传压缩包并在远程服务器上解压。-ScriptLocalStart 本地前置脚本块会在文件上传前执行通常用于准备或清理 -Path 指定目录。-ScriptLocalEnd 本地后置脚本块会在文件上传和远程脚本执行后执行通常用于本地清理或记录日志。-ScriptRemoteStart 远程前置脚本块会在文件上传到远程目录后执行适用于远程初始化或预处理。-ScriptRemoteEnd 远程后置脚本块会在文件上传完成并解压后执行适用于启动服务、修改权限或后续处理。脚本执行流程验证本地 -Path 是否存在。执行可选本地前置脚本 -ScriptLocalStart。如果启用 -Compress则先将指定路径压缩为 ZIP。在远程服务器上创建或校验 -RemotePath。上传文件或 ZIP 到远程目录。可选执行远程前置脚本 -ScriptRemoteStart。如果启用了压缩远程解压 ZIP 文件到目标目录。可选执行远程后置脚本 -ScriptRemoteEnd。可选执行本地后置脚本 -ScriptLocalEnd。前置条件连接到指定的服务器是运用了PowerShell的运程管理功能此功能是需要在对应服务器开启PowerShell运程管理功能(Win服务里面有个WinRM的服务 显示名称Windows Remote Management (WS-Management))服务器打开防火墙入站规则“WinRM远程管理”,HTTP端口为5985,HTTPS端口为5986#先把网络设备为专用网络Get-NetConnectionProfile#修改单个网络为专用网络Set-NetConnectionProfile -Name “{指定网络名称}” -NetworkCategory Private#修改所有网络为专用网络Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private#在远程服务器运行此命令用PowerShell以管理员方式运行Enable-PSRemoting也可以用下面的参数忽略网络环境检查不管内外网环境Enable-PSRemoting -SkipNetworkProfileCheck -Force#信任指定host。*为所有 本机和服务器都运行Set-Item WSMan:\localhost\Client\TrustedHosts -Value *增加https监听(需要证书)(可选)$MachineName [System.Environment]::MachineNameKaTeX parse error: Undefined control sequence: \LocalMachine at position 32: …tem -Path Cert:\̲L̲o̲c̲a̲l̲M̲a̲c̲h̲i̲n̲e̲\My\ | Where-Ob…_.Subject -like “CN$MachineName*”}$Thumbprint $Cer[0].ThumbprintNew-Item WSMan:\localhost\Listener\ -Transport HTTPS -Address * -CertificateThumbPrint $Thumbprint#打开WinRM HTTPS的5986端口New-NetFirewallRule -Name “WinRM HTTPS 5986” -DisplayName “WinRM HTTPS 5986” -Action Allow -Protoc

相关新闻

2026工艺工程师学数据分析的价值

2026工艺工程师学数据分析的价值

2026/7/10 1:00:46

一、2026工艺工程师学数据分析的必要性工艺工程师在2026年及未来的制造业中,数据分析能力将成为核心竞争力之一。随着工业4.0、智能制造和数字化工厂的普及,工艺优化、质量控制和生产效率提升越来越依赖数据驱动。掌握数据分析技能可以帮助工艺工程师更精…

终极指南:5分钟掌握iFakeLocation - iOS虚拟定位神器

终极指南:5分钟掌握iFakeLocation - iOS虚拟定位神器

2026/7/10 1:00:46

终极指南:5分钟掌握iFakeLocation - iOS虚拟定位神器 【免费下载链接】iFakeLocation Simulate locations on iOS devices on Windows, Mac and Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/if/iFakeLocation iFakeLocation是一款强大的跨平台开源工具…

基于 robotgo 实现 Windows 桌面 RPA 自动化框架:技术全解

基于 robotgo 实现 Windows 桌面 RPA 自动化框架:技术全解

2026/7/10 1:00:46

、为何选择 robotgo 桌面 RPA 的本质是对操作系统的输入系统(鼠标、键盘、剪贴板、屏幕)进行程序化控制。在 Windows 上,主流的自动化方案有几种: UI Automation (UIA):通过可访问性树操控控件,精确但受限…

从模型到生产力:原力灵机点燃具身智能“三级火箭“

从模型到生产力:原力灵机点燃具身智能“三级火箭“

2026/7/10 2:10:49

具身智能走到今天,行业最需要回答的问题已经变了。过去一年,行业已经看过太多漂亮的机器人Demo,但能够进入真实场景持续工作却是一道鸿沟。这也是原力灵机首届开发者大会Action 2026最值得关注的地方。7月9日,原力灵机一次发布五大…

百度网盘秒传链接工具:3分钟快速上手全攻略

百度网盘秒传链接工具:3分钟快速上手全攻略

2026/7/10 2:10:49

百度网盘秒传链接工具:3分钟快速上手全攻略 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 想要在百度网盘上实现文件秒传吗&#xff1f…

嵌入式信号状态切换:MK64FN1M0VDC12与DTH-08应用指南

嵌入式信号状态切换:MK64FN1M0VDC12与DTH-08应用指南

2026/7/10 2:10:49

1. 项目背景与核心需求在嵌入式系统设计中,信号的上拉和下拉状态切换是一个基础但至关重要的操作。这次我们要探讨的是如何利用DTH-08模块配合MK64FN1M0VDC12微控制器实现可靠的信号状态切换。这个需求在多种场景下都会遇到,比如:当需要控制外…

Java:后端项目会有一个类似前端node_modules的目录吗 / jar包在本地仓库 ~/.m2/repository 中按版本共存

Java:后端项目会有一个类似前端node_modules的目录吗 / jar包在本地仓库 ~/.m2/repository 中按版本共存

2026/7/10 2:10:49

后端项目没有像 node_modules 那样统一叫法的目录,但确实有功能完全对应的“依赖存放目录”。简单来说: 前端用 node_modules, 后端用 lib、pkg、jars 等, 本质都是存放项目所依赖的第三方库和框架的文件夹。一、不同后端语言的依…

Mac JDK安装配置与多版本管理全解析

Mac JDK安装配置与多版本管理全解析

2026/7/10 2:10:49

1. 为什么 Mac 上装 JDK 不是“点下一步”那么简单很多人在 Mac 上装 JDK 的第一反应是:去 Oracle 官网下载一个 .dmg,双击安装,然后——完事了?结果一打开终端敲java -version,显示的版本对不上;写个 Spri…

在高速固态U盘上安装可长期使用的Ubuntu系统

在高速固态U盘上安装可长期使用的Ubuntu系统

2026/7/10 2:00:48

1. 项目概述:为什么要在高速固态U盘上装Ubuntu?这不是“U盘启动盘”,而是真第二系统你手头那支标称“USB 3.2 Gen 2,读速420MB/s”的金属外壳U盘,如果只用来做一次性的Live USB启动盘,那它90%的性能和三年的…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/9 19:40:56

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/9 18:28:30

1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/8 14:04:34

1. 项目背景与核心价值在计算机视觉领域,YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备(如树莓派、Jetson Nano或手机终端)时,立刻会遇到两个致命问题:模型体积庞大(原始YO…

终极原神FPS解锁器完整指南:轻松突破60帧限制

终极原神FPS解锁器完整指南:轻松突破60帧限制

2026/7/10 0:00:42

终极原神FPS解锁器完整指南:轻松突破60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 原神FPS解锁器是一款专为《原神》玩家设计的开源工具,通过先进的Wri…

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?[特殊字符]

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?[特殊字符]

2026/7/10 0:00:42

YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?🎵 【免费下载链接】YesPlayMusic 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron: 项目地址: https://gitcode.com/gh_mirrors/ye/YesPlayMusic…

从零实现红黑树:手写C++的set与map容器

从零实现红黑树:手写C++的set与map容器

2026/7/10 0:00:42

1. 项目概述:从STL容器到自研轮子在C的日常开发中,std::set和std::map是我们再熟悉不过的伙伴了。它们一个负责管理不重复的集合,一个负责维护键值对映射,底层都依赖一颗高效的红黑树来保证数据的有序性和操作的性能。但你是否曾想…