远程部署工具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

相关新闻

S16.2第一性原理做产品(2):从《从0到1》看AI创业——在“能做“通胀时代,找到你的秘密

S16.2第一性原理做产品(2):从《从0到1》看AI创业——在“能做“通胀时代,找到你的秘密

第一性原理做产品(2):从《从0到1》看AI创业——在"能做"通胀时代,找到你的秘密 本文是专栏「第一性原理做产品:AI时代从"能做"到"做好"的破局之道」第2篇。Peter Thiel说"竞争是失…

2026/7/10 0:55:06阅读更多 →
Ralph Loop 实践解析:300行代码写个编码Agent的背后逻辑与边界

Ralph Loop 实践解析:300行代码写个编码Agent的背后逻辑与边界

Ralph Loop 实践解析:300行代码写个编码Agent的背后逻辑与边界 先说结论Ralph Loop的核心是“刻意遗忘”和最小上下文,让agent长时间循环运行而非一次性生成。它最适合语言移植、小范围修复等任务,但不适用于需要全局理解的架构级改造。代码审…

2026/7/10 0:55:06阅读更多 →
3分钟搞定抖音批量下载:douyin-downloader的终极使用指南

3分钟搞定抖音批量下载:douyin-downloader的终极使用指南

3分钟搞定抖音批量下载:douyin-downloader的终极使用指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…

2026/7/10 0:55:06阅读更多 →
基于TPS61170与STM32的高效DC-DC升压转换器设计

基于TPS61170与STM32的高效DC-DC升压转换器设计

1. 项目背景与核心器件选型在工业控制、医疗设备和汽车电子等领域,经常需要将低压直流电源转换为高压直流电源。传统方案采用分立元件搭建,存在效率低、体积大、稳定性差等问题。本项目采用TI的TPS61170升压转换器与ST的STM32F071VB微控制器组合&#xf…

2026/7/10 2:15:53阅读更多 →
CPT外汇:更谨慎的使用者更在意的外汇用户支持体系,这里做个要点复盘

CPT外汇:更谨慎的使用者更在意的外汇用户支持体系,这里做个要点复盘

外汇市场信息更新频繁,平台口碑的形成更依赖长期一致性:入口是否好找、说明是否前后一致、提示是否稳定出现。围绕CPT外汇,下面从稳定体验与信息呈现等角度做一次正面观察。在外汇相关服务中,读者最在意的通常是信息是否清楚、提示…

2026/7/10 2:15:53阅读更多 →
Unity游戏开发入门:从零搭建交互场景与核心概念解析

Unity游戏开发入门:从零搭建交互场景与核心概念解析

1. 项目概述:为什么是Unity?如果你对游戏开发感兴趣,或者想从零开始创造一个属于自己的虚拟世界,那么“Unity”这个名字你肯定绕不过去。它就像一个功能无比强大的“数字乐高”工厂,让你能相对轻松地把脑海里的奇思妙想…

2026/7/10 2:15:53阅读更多 →
通信与接口协议面试十七、SPF光模块

通信与接口协议面试十七、SPF光模块

光模块,英文名叫 Optical Module。一般是指光收发一体模块。就是实现光电转换。把光信号变成电信号,把电信号变成光信号。1.组成 在发射端,驱动芯片对原始电信号进行处理,然后驱动半导体激光器(LD)或发光二…

2026/7/10 2:15:53阅读更多 →
从RAG到Agentic RAG:构建可自主规划与执行搜索的工程化AI智能体

从RAG到Agentic RAG:构建可自主规划与执行搜索的工程化AI智能体

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 1. 这篇文章真正要解决的问题 如果你正在尝试将 AI Agent 或 RAG 系统从 Demo 推向真实业务,大概率会遇到一个核心矛盾&a…

2026/7/10 2:15:53阅读更多 →
百度网盘秒传链接工具:3分钟快速上手全攻略

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

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

2026/7/10 2:10:52阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/9 5:56:19阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/9 9:45:20阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/9 2:47:07阅读更多 →
浏览器缓存行为深度解析:Chrome/Firefox/Safari 对 304 响应的 5 种触发场景对比

浏览器缓存行为深度解析:Chrome/Firefox/Safari 对 304 响应的 5 种触发场景对比

浏览器缓存行为深度解析:Chrome/Firefox/Safari 对 304 响应的 5 种触发场景对比当你在浏览器地址栏敲入一个网址时,背后可能隐藏着一场关于"要不要重新下载资源"的精密博弈。这场博弈的裁判是HTTP缓存机制,而304状态码则是这场博弈…

2026/7/10 0:00:01阅读更多 →
RoboWits:面向创造性问题求解的双臂机器人认知推理基准

RoboWits:面向创造性问题求解的双臂机器人认知推理基准

1. 项目概述:这不是又一个机器人抓取数据集,而是一次对“思考力”的压力测试 RoboWits——这个名字里藏着两个关键信号:“Robo”直指物理世界中的具身智能体,“Wits”则毫不掩饰地指向人类最核心的认知能力:机敏、判断…

2026/7/10 0:00:01阅读更多 →
5分钟完全指南:如何使用TegraRcmGUI图形化工具解锁Switch无限可能

5分钟完全指南:如何使用TegraRcmGUI图形化工具解锁Switch无限可能

5分钟完全指南:如何使用TegraRcmGUI图形化工具解锁Switch无限可能 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI是一款专为Windows…

2026/7/10 0:00:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/9 9:45:20阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/9 15:50:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/9 14:14:17阅读更多 →