Ubuntu 自启动添加路由

网上的帖子也不知道过时几百年了,自己贴一个记下来。

Ubuntu 开始推行什么都是服务的形式,搞得及其麻烦。你要了解各种服务的特性。比如在什么之前启动,之后启动。

[Unit]
Description=xxxx  
# 这里你自定义即可

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/bin/sh -c 'until ping -c1 8.8.8.8; do sleep 5; done;'


# 这里添加你要的路由命令或者其他命令
ExecStart=/sbin/ip rule add fwmark 0x1 table 100 ; \ 
/sbin/ip -6 rule add fwmark 0x2 table 110 ; \
/sbin/ip route add local 0.0.0.0/0 dev lo table 100 ; \
/sbin/ip route add local 0.0.0.0/0 dev lo table 110 ; \
/sbin/ip -6 route add local ::/0 dev lo table 100 ; \
/sbin/ip -6 route add local ::/0 dev lo table 110 ;

ExecStop=/sbin/ip rule del fwmark 0x1 table 100 ; \
/sbin/ip -6 rule del fwmark 0x2 table 110 ; \
/sbin/ip route del local 0.0.0.0/0 dev lo table 100 ; \
/sbin/ip route del local 0.0.0.0/0 dev lo table 110 ; \
/sbin/ip -6 route del local ::/0 dev lo table 100 ; \
/sbin/ip -6 route del local ::/0 dev lo table 110 ;

[Install]
WantedBy=multi-user.target

这样路由就会自动添加了,不用每次写。

记得 sudo systemctl daemon-reload 重载哦!

查询 Windows 是否处于更新等待重启

如题,今天收到个这样的需求。也是无语。写个脚本做个记录

# 过滤电脑
$computers = Get-ADComputer -Filter {Name -like "cndw*"}

# 执行循环
foreach ($computer in $computers){

# 检测注册表值
 $registryPath = Invoke-Command -ComputerName $computer.Name -ScriptBlock {Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update"}
$rebootRequiredEntry = "RebootRequired"

# 设置记录文件
$logFilePath = "%SystemDrive%\%UserName%\Desktop\waitreboot.txt"
$logfailPath = "%SystemDrive%\%UserName%\Desktop\waitrebootfail.txt"

# 判断条目是否存在
if (Test-Path -Path "$registryPath\$rebootRequiredEntry") 
{
    {
      Write-Output "$computer,The RebootRequired entry exists"
      Out-File -FilePath $logFilePath -Append -NoClobber
    } else {
      Write-Output "$computer,The RebootRequired entry does not exist."
      Out-File -FilePath $logfailPath -Append -NoClobber
            }
}

好了,就这样吧。

后来发现这种执行超级慢,很多电脑不在线。如果你要实地使用,还请做个在线判断。