前言
写篇文章记录如何使用本博客,怕后面忘了。
正文
主题部署
博客使用的空间是GitHub Pages
,如何在GitHub Pages上部署可以参考 官方文章:Creating a GitHub Pages site
Be the man of my words.
写篇文章记录如何使用本博客,怕后面忘了。
博客使用的空间是GitHub Pages
,如何在GitHub Pages上部署可以参考 官方文章:Creating a GitHub Pages site
cURL
,一个很强大的http api调试命令行工具,可以在Shell上直接使用 有必要掌握基础使用方法。
https://curl.haxx.se/download.html
$sudo !!
了解Shell的环境变量。
env
创建临时变量env var1=vaule1 var2=value2
在一次使用过程中,1个变量一直获取不到值,调试了很久,最后搞明白是这个变量在不同作用域重复使用了。于是通过AI理解和学习一遍Powershell变量的作用域,夯实一下基础。
在 PowerShell 中,作用域(Scope)决定了变量的可见性和生命周期。PowerShell 中有几种不同的作用域类型:
Invoke-command
可以实现在远程系统上执行Powershell代码块。方式是invoke-command -ScriptBlock { <code>}
。很多时候需要把本地变量传递到远程代码块 -ScriptBlock
。
如果直接传递本地变量,会获取不到值。需要使用特殊方式。
可以使用
-ArgumentList
关键字。
数据类型之间的判断和转换
可以使用
-is
关键字来比较和判断数据类型。
1 -is [int]
True
"1" -is [int]
False
我们知道Powershell可以调用.Net Framework的静态类,也就可以大大提高了脚本功能。熟悉C#的同学
可以在Powershell里面直接编写C#代码,然后在代码里面直接使用。
来自阿里千问
Powrshell自带的很多Function都支持远程执行,例如Restart-Computer
支持参数Computer
指定远程计算机或是本地系统实现远程重启计算机。
我们自定义的Function要实现在远程计算机上执行,则可以借用Invoke-Command
来实现。
Invoke-Command
来执行本地Function。 举例:#自定义函数
Function MyFunction {
[CmdletBinding()]
Param (
[Parameter(Position = 1)] #显式指定参数位置,第2个参数。如果不显式指定,默认按定义顺序排序
[String] $Message,
[Parameter(Position = 0)] #显式指定参数位置,第1个参数
[Int]$Count
)
"Say $Message for $Count times." | Out-File C:\AdminPack\PSRemoteExec.log
}
#在远程计算机上执行本地Function "MyFunction", 使用ArugementList指定参数值列表
Invoke-Command -ComputerName "Remote_Computer_Name" -ScriptBlock ${Function:MyFunction} -ArgumentList 5,"Hello"
几个常用Powershell Function参数使用技巧
来自DeepSeek Chat
在 PowerShell 中,你可以通过多种方式来判断是否带上了指定的参数。以下是一些常见的方法:
如果你在脚本或函数中使用 Param
关键字定义了参数,你可以通过检查参数的值来判断是否带上了该参数。例如:
function Test-Parameter {
Param (
[Parameter(Mandatory=$true)]
[string]$Name
)
if ($Name) {
Write-Output "Parameter 'Name' is provided with value: $Name"
} else {
Write-Output "Parameter 'Name' is not provided."
}
}
# 调用函数
Test-Parameter -Name "John"