第一步:编写连接 VPN 的脚本

通过rasdial命令可以连接 VPN,系统中需要提前添加名为CD的 VPN,用户名aaa,密码bbb,可以将连接的结果和当前时间存入vpn.log文件供后续查看。

# vpn-conn.ps1
$ras = rasdial CD aaa bbb
$current_time = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
$current_time , $ras >>  D:\script\vpn.log

第二步:编写 PowerShell 计划任务脚本

Register-ScheduledJob创建计划任务,Get-ScheduledJob获取计划任务,New-JobTrigger定义触发器,Add-JobTrigger给计划任务添加触发器。

$jobName = 'vpn-conn'
$filePath = 'D:\script\vpn-conn.ps1'
#创建任务
Register-ScheduledJob -Name $jobName -FilePath $filePath
#获取任务
$job =  Get-ScheduledJob -Name $jobName
#定义触发器
$jobTrigger = New-JobTrigger -Once -At (Get-Date).AddMinutes(1) -RepetitionInterval (New-TimeSpan -Minutes 10 ) -RepeatIndefinitely
#添加触发器
$job | Add-JobTrigger -Trigger $jobTrigger

以上命令执行完成后,在系统的计划任务里可以看到已成功添加,另外可以直接用Disable-ScheduledJobUnregister-ScheduledJob来禁用任务和删除任务。

# 禁用任务
Disable-ScheduledJob  -Name vpn-conn 
# 删除任务
Unregister-ScheduledJob -Name vpn-conn

小学时做过一个梦,我和另外三个人去玩一个开飞机的游戏,第 1 局差点通关,于是决定再玩一局,第 2 局还有另外一队也是四个人一起参加游戏,最终我们还是差了一点,他们顺利通关。

昨晚又做了一个梦,我和另外三个人去玩一个开飞机的游戏,第 1 局差点通关,于是决定再玩一局,买票后我看到了另外一队也是四个人,我意识到这件事情以前发生过,于是告诉同行的人我已经知道了故事的结局,结局是对面的赢了。

当我意识到更多神奇的事并想告诉他们时,似乎对面的人也认出了我,我正准备上前打招呼,梦醒。

更多神奇的事情是:对面的人其中三个是我后来在不同公司遇到的同事,玩的这个游戏现在被称作 VR 游戏,游戏里的场景是美剧《太空堡垒卡拉狄加》,为什么他们能最后通关?因为第四个人正是太空堡垒里的一个女主角!

Flex 容器内的子元素叫做容器的项目(item),通过设置 Flex 容器的 CSS 可以统一设置项目的排列顺序和对齐方式,通过项目的 CSS 则可以控制单个项目的缩放、排列顺序、对齐方式等。

order

order,设置 item 的排列优先级,默认为0,数字小越先排列,可为负。
如下图,a 方块order:1,所以排到了最后。
item-order.png

- 阅读剩余部分 -

Flex 容器(container)有两根轴线,主轴和交叉轴,相互垂直,容器的子元素(item)默认沿主轴排列。

flex-direction

flex-direction设置 item 在主轴上的排列方向,默认为row,表示水平方向从左到右。还有其他三个值:row-reverse(水平方向从右到左)、column竖直方向从上到下、column-reverse(竖直方向从下到上)。
flex.png

- 阅读剩余部分 -

本文对 Excel 的常用函数做了简单说明,Excel 函数名不区分大小写,为了方便理解本文大写了有意义单词的首字母。

CountIf

功能:计算区域内满足条件的单元格数目
举例:=CountIf(A:A,"hello"),计算 A 列中值为 hello 的单元格数目
应用:在 Sheet1 中找出没出现在 Sheet2 中的 Domain。

分析:使用 CountIf 计算出 Sheet1 中每个 Domain 出现在 Sheet2 中的数目,然后通过筛选,Count 为 0 的即为满足条件的。

- 阅读剩余部分 -

使用 VLookup 可以方便的查找值,例如下图,可以根据 Sheet1 中的 Domain 去 Sheet2 中找到对应的 Name。

但是有个限制是 Domain 必须在区域中的第一列,例如上图中 Domain 在区域 Sheet2!A:B 中的第一列。
如果 Sheet2 实际情况是下图这样 Name 在 Domain 之前,就不能通过 VLookup 来查找了。

- 阅读剩余部分 -

公式以等号开头,单元格最终显示的是等号后“计算”的结果,例如=10,最终显示为 10。

规则

如下图,等号后可跟数字、字符、运算、函数等形式。

引用

等号后直接跟值并没有什么实际意义,我们需要公式和其他单元格的值联系起来,这就有了引用的概念。


一个单元格对应了唯一的列号和行号,“列号+行号”即为一个单元格的引用,如上图的 B2,当在其他单元格使用公式=B2时,最终就会显示 B2 单元格的值。

- 阅读剩余部分 -

冻结窗格

视图选项卡里的冻结窗格功能可以将表格的首行或者首列冻结,如下图选择冻结首行后滚动表格,第一行将一直显示。

如果想自定义行列需要先取消冻结,如下图选中第三行第三列的单元格,此时选择冻结窗格,上方的行和左方的列都会固定位置了。

- 阅读剩余部分 -

自动填充是 Excel 里一个常用的功能,如下图,当选中单元格,鼠标放到右下角会变成一个“黑色十字”,此时按住鼠标左键拖动,Excel 会根据选中的的内容自动生成新的内容。
autofill.gif

自动填充的方法有几种,可根据需求和习惯选择使用。

左键填充

即上图所示的方法,选中一个数字,默认会复制,选中多个数字,会根据数字的规律填充。
和粘贴单元格类似,当结束托选右下角也会出现一个按钮,如果默认自动填充的值不是想要的结果,仍然可以选择其他结果。

- 阅读剩余部分 -

文件格式

.xls.xlsx是 Excel 表格文件的默认格式。
.xls是 Excel 2007 以前默认的格式,.xlsx则是 Excel 2007 开始的默认格式。

这两种格式文件最大的两个区别有两点:

  1. 同样内容的表格,.xlsx文件更小;
  2. .xls最多支持 66535 行数据,.xlsx最多支持 1048576 行数据

还有另一个常用的格式.csv,这种格式只能记录文本内容,无法保存字体、颜色、合并单元格等信息。

工作簿、工作表

一个表格文件被 Excel 叫做工作簿(Workbook),工作簿里可以有多个工作表(Worksheet)。
为了方便管理,可以将内容相关的表格放到同一个工作簿里不同的工作表中。

如下图,是一个名为“工作记录”的文件,按月份命名了每个工作表,在工作表名称上右键可以重命名,通过移动或复制功能,也可将工作表移动或复制到单独的文件里,
通过保护工作表功能,可以对单个工作表设置密码,使其他人无法修改内容。
右下角可以调整缩放比例,方便查看内容。

- 阅读剩余部分 -