首页 > 系统相关 >PowerShell编写Windows服务器的DDNS-ipv6客户端

PowerShell编写Windows服务器的DDNS-ipv6客户端

时间:2024-01-27 17:56:50浏览次数:27  
标签:cn Windows Path ipv6 DDNS fm20 path guid ddnsv6

这个代码保存成ddnsv6.fm20.cn.ps1就能正常运行了

function Get-GUID() {
    # 指定注册表路径
    $path = "HKLM:\Software\Firadio\ddnsv6.fm20.cn"

    # 如果注册表路径不存在则创建
    if (-not (Test-Path $path)) {
        New-Item -Force -Path $path >$null
    }

    # 尝试获取注册表中的 "guid" 属性值
    $v = Get-ItemProperty -ErrorAction SilentlyContinue -Path $path -Name "guid"
    if ($v) {
        return $v.guid
    }

    # 如果 "guid" 属性不存在,则生成一个新的 GUID 并写入注册表
    $guid = [System.Guid]::NewGuid().Guid
    Set-ItemProperty -Path $path -Name "guid" -Value $guid
    return $guid
}

# 创建一个 UDP 客户端并发送数据
$udpClient = New-Object System.Net.Sockets.UdpClient([System.Net.Sockets.AddressFamily]::InterNetworkV6)
$data = Get-GUID
$msg = [Text.Encoding]::UTF8.GetBytes($data)

# 循环发送数据
while ($true) {
    $udpClient.Send($msg, $msg.Length, 'ddnsv6.fm20.cn', 12345)
    Start-Sleep -Seconds 1
}

# 关闭 UDP 客户端
$udpClient.Close()

但有些电脑运行后会提示错误

ddnsv6.fm20.cn.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
    + CategoryInfo          : SecurityError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnauthorizedAccess

所以下面我改成bat,确保大多数Windows系统都能正常能运行。
复制下面这个代码并保存成“ddnsv6.fm20.cn.bat”就能正常运行了

powershell -c "function Get-GUID(){$path=\"HKLM:\Software\Firadio\ddnsv6.fm20.cn\";if (-not (Test-Path $path)) {New-Item -Force -Path $path >$null;}$v=Get-ItemProperty -ErrorAction SilentlyContinue -Path $path -Name \"guid\";if ($v) {return $v.guid;}$guid=[System.Guid]::NewGuid().Guid;Set-ItemProperty -Path \"HKLM:\Software\Firadio\ddnsv6.fm20.cn\" -Name \"guid\" -Value $guid;return $guid;}$udpClient=New-Object System.Net.Sockets.UdpClient([System.Net.Sockets.AddressFamily]::InterNetworkV6);$data=Get-GUID;$msg=[Text.Encoding]::UTF8.GetBytes($data);while($true){$udpClient.Send($msg,$msg.Length,'ddnsv6.fm20.cn',12345);Start-Sleep -Seconds 1;}$udpClient.Close();"

标签:cn,Windows,Path,ipv6,DDNS,fm20,path,guid,ddnsv6
From: https://www.cnblogs.com/xiangxisheng/p/17991720

相关文章

  • Burp Suite Professional 2024.1.1 (macOS, Linux, Windows) - Web 应用安全、测试和
    BurpSuiteProfessional2024.1.1(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:https://sysin.org/blog/burp-suite-pro/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgB......
  • Burp Suite Professional 2024.1.1 for Windows x64 (sysin) - 世界排名第一的网络渗
    BurpSuiteProfessional2024.1.1forWindowsx64(sysin)-世界排名第一的网络渗透测试工具包请访问原文链接:https://sysin.org/blog/burp-suite-pro-win/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgBurpSuiteProfessionalTheworld’s#1webpenetration......
  • Windows内核开发-[4]、内核编程基础(1)
    在前面的文章中,介绍了如何配置开发环境以及如何进行调试。接下来的几篇文章,将会重点介绍内核编程中所需要了解的一些理论基础。我写这个系列文章的主要目的是方便以后自己查阅,同时也给正在学习内核开发的小伙伴一些参考,所以我会尽可能地以最简单的方式进行描述。如果在阅读过程......
  • IPv6 在线测试工具推荐
    IPv6在线测试工具是一个IP协议检测工具,用于测试网站服务器是否支持IPv6协议。同时,检测工具还支持查询IPv6GeoIP地理位置信息。在输入要检测的域名或URL之后,检测工具发出DNS查找请求,获取来自DNS服务器的响应,并进行分析。同时,检测工具还会发出HTTPGET请求,获取来......
  • 在 Python 的 `glob` 模块中,文件名的大小写敏感性取决于你的操作系统。在 Unix 和 Lin
    在Python的`glob`模块中,文件名的大小写敏感性取决于你的操作系统。在Unix和Linux系统中,`glob`是区分大小写的。然而,在Windows和MacOS中,`glob`是不区分大小写的。例如,如果你在Unix或Linux系统中运行以下代码:```pythonimportglobfiles=glob.glob('*.xlsx')......
  • windows下java启动失败
    windows下java启动失败一、问题现象微服务原来在linux下部署,现在有客户环境为windowsserver,把linux的包拷到windowsserver下,使用java-jar命令无法启动。同样的包在linux可以启动,就是在windows启动不了。问题提示:现象一:2023-10-2713:40:05.682ERROR11736---[main]o.......
  • Windows内核开发-[2]、创建第一个驱动程序
    使用VisualStudio2022创建一个EmptyWDMDriver工程  工程创建后,添加一个MyFirstDriver.cpp文件,输入以下内容1#include<ntddk.h>23VOIDDriverUnload(PDRIVER_OBJECTDriverObject)4{5if(DriverObject!=NULL)6{7DbgPrint("Driver......
  • Windows内核开发-[3]、驱动调试方法
    单步调试驱动驱动的调试不能直接在本机上进行,而是要放在虚拟机(或其它设备)中。这是因为在内核模式下,一个断点的触发将会停下整个系统而不只是单个进程。在前面的文章里,使用了DbgPrint函数来进行日志的输出,但这种方法不能进行单步调试。下面介绍两种调试方法。 基于VisualStud......
  • ZSH!在 Windows 上使用 WSL+ZSH
    ZSH!在Windows上使用WSL+ZSH1.安装WSL关于如何安装WSL这里就不介绍了,大家可以去找找相关的教程,很多。最直接的就是去微软官方:https://learn.microsoft.com/en-us/windows/wsl/install最简单的方法是从MicrosoftStore安装Ubuntu2.ubuntu在开始菜单中搜索Ubuntu图标并打开终端......
  • .NET Core 6.0 Windows部署
    varoptions=newWebApplicationOptions{Args=args,//这是因为从Windows中调用GetCurrentDirectory会返回:C:\WINDOWS\system32//需要注意使用了WindowsService部署,就不能使用Console类,否则会报错ContentRootPath=WindowsServiceHelpers.IsWindowsServi......