- $logFile = "C:pathtoyourip_log.txt"
- $checkInterval = 300 # 检查间隔,单位为秒(这里设置为5分钟)
-
- function Get-ExternalIP {
- try {
- $ip = Invoke-RestMethod -Uri ‘http://ipinfo.io/ip’
- return $ip.Trim()
- }
- catch {
- return $null
- }
- }
-
- $lastIP = $null
-
- while ($true) {
- $currentIP = Get-ExternalIP
- $currentTime = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
-
- if ($currentIP -and ($currentIP -ne $lastIP)) {
- $logMessage = "$currentTime – IP changed to: $currentIP"
- Add-Content -Path $logFile -Value $logMessage
- Write-Host $logMessage
- $lastIP = $currentIP
- }
-
- Start-Sleep -Seconds $checkInterval
- }
复制代码
使用PowerShell脚本来监测IP变化并记录到文本文档中。
一个简单的脚本示例,可以帮助您实现这个功能:
1、创建PowerShell脚本: 打开记事本,将以上内容复制粘贴进去: 2、保存文件: 将文件保存为 "MonitorIP.ps1"(或其他您喜欢的名称),确保文件扩展名是 .ps1。 3、修改脚本: 将 $logFile = "C:pathtoyourip_log.txt" 中的路径改为您想要保存日志文件的实际路径。 如果需要,可以调整 $checkInterval 的值来改变检查频率。 4、运行脚本: 右键点击保存的 .ps1 文件。 选择 "使用 PowerShell 运行"。 5、设置自动启动(可选): 如果您希望每次开机时自动运行此脚本: 按 Win+R,输入 "shell:startup" 并回车。 在打开的文件夹中,右键 > 新建 > 快捷方式。 在位置栏输入:powershell.exe -ExecutionPolicy Bypass -File "C:pathtoyourMonitorIP.ps1" 将 "C:pathtoyourMonitorIP.ps1" 替换为您实际保存脚本的路径。
注意事项:
这个脚本会持续运行并定期检查IP。如果您不希望它一直运行,可以手动关闭PowerShell窗口。 脚本使用 http://ipinfo.io 服务来获取外部IP。如果这个服务不可用,您可能需要更换为其他提供IP信息的服务。 确保您的防火墙或安全软件不会阻止脚本访问互联网。 如果遇到执行策略的问题,您可能需要以管理员身份运行PowerShell并执行 Set-ExecutionPolicy RemoteSigned 命令。 使用这个脚本,您就可以监测IP变化并将变化记录到指定的文本文件中了。每当IP发生变化时,新的IP地址和变化时间都会被记录下来。 |