废话不多说,直接上步骤吧。
建议用 Windows 10 或 Windows Server 2016 及以上,PowerShell 5.0 或以上。
低版本的安装可以参考Microsoft Docs。
Install-PackageProvider Nuget – Force
Install-Module – Name PowerShellGet – Force
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Install-Module PSSQLite -Force
PS > Get-Command -Module PSSQLite
CommandType Name Version Source
----------- ---- ------- ------
Function Invoke-SQLiteBulkCopy 1.0.3 PSSQLite
Function Invoke-SqliteQuery 1.0.3 PSSQLite
Function New-SQLiteConnection 1.0.3 PSSQLite
Function Out-DataTable 1.0.3 PSSQLite
$database = "D:\Scripts\DB\test.sqlite"
$query = "
CREATED TABLE Names (
fullname VARCHAR(20) PRIMARY KEY,
surname TEXT,
givenname TEXT,
birthdate DATETIME
)"
Invoke-SqliteQuery -Query $query -DataSource $database
Invoke-SqliteQuery -DataSource $database -Query "PRAGMA table_info(names)" | Format-Table
cid name type notnull dflt_value pk
--- ---- ---- ------- ---------- --
0 fullname varchar(20) 0 1
1 surname text 0 0
2 givenname text 0 0
3 birthdate datetime 0 0
$query = "INSERT INTO Names (fullname,surname,givenname,birthday)
VALUES (@full, 'Cookie', 'Monster', @bd)"
Invoke-SqliteQuery -DataSource $database -Query $query -SqlParameters @{full = "Cookie Monster"; BD = (Get-Date).AddYears(-11)}
Invoke-SqliteQuery -DataSource $database -Query 'select * from names'
fullname surname givenname birthdate
-------- ------- --------- ---------
Cookie Monster Cookie Monster 6/4/2008 10:00:25 AM
看,fullname 和 birthdate 是通过参数传入的。
好了,有空再继续分享。
1
lihongjie0209 2019-06-04 17:31:11 +08:00
还是没解决一个问题, 如果不是开箱自带,为什么不直接装 Python? 因为信仰吗
|
2
Tumblr OP @lihongjie0209 #1 多掌握一门技能没坏处,尤其是对于负责微软系( AD、Exchange、Teams、SC 等等)运维的同学。
另外,Python 不是很多模块也需要安装才可以用么? Python 的强大正是因为周边的生态吧,抛开各种生态单独谈语言,Python 也谈不上翘楚的。 |
3
presoul 2019-06-04 18:16:32 +08:00 via Android 1
楼主说的没问题 ,至少 poweshell 在 win server 上很有用
|
4
lolizeppelin 2019-06-04 18:18:23 +08:00
学不动 2333
没事跳微软坑简直找死 233 |
5
huiyifyj 2019-06-04 18:22:29 +08:00 2
#1 1 楼 什么鬼评论...
PowerShell 至少在 win 下用的还是很有用,为什么就否定他的意义,而且它也的确比 cmd 和 bat 批处理更优秀。 不能因为对微软成见就鄙夷任何吧。而且最近的语言趋势确实是增加中啊。 |
6
Cooky 2019-06-04 18:37:08 +08:00 via Android 1
有那个功夫还不如学 C# …
|
7
Tumblr OP @Cooky #6 一看就是没运维过 AD、Exchange 等系列产品的。
我想你应该了解一下微软的这一套(包括 System Center ) + Azure,再做评论。 |
8
Tumblr OP 感觉……怎么那么多人就是“我不了解你,你就不好,就要踩死你“的感觉呢。。。在说这个东西不好的时候,起码能说出个 123 来吧。。。难怪现在 V2EX 世风日下啊。
百度知道 -> 逼乎 -> V2EX ? |
9
Osk 2019-06-04 20:03:11 +08:00 via Android 1
Powershell 在 Windows 上用来做运维确实好用。
但狗血的是 Windows 10 的 powershell 可以一行命令完成的功能,Win7 的 ps 有时没有对应的 cmdlet,升级 ps 是不可能升级的,然后只能换方案,然后干脆换语言了。 不知道可不可以把高版本的 ps 运行环境打包后像绿色软件一样到处运行,这确实是刚需之一。 |
10
huiyifyj 2019-06-04 20:12:16 +08:00 via Android
@Tumblr #8
同意。没事就扯意义,没用过就说没意义。PowerShell 有那么差?学习成本也不止于那么高啊,至少我 PowerShell 学的就是抽了一点时间学而已。 |
11
huiyifyj 2019-06-04 20:13:43 +08:00 via Android 1
|
12
Tumblr OP @huiyifyj #11 PowerShell 6 倒是个不错的选择,因为这个不依赖于 OS,是独立运行的。
在 PowerShell 6 之前,即使装 WMF 升级到 5.1,还是有很多命令的模块是没有的。 |
13
Cooky 2019-06-05 00:31:56 +08:00 via Android
@Tumblr 了解是不可能了解的,这辈子都不可能了解的。抽时间又不会抽,就是偷懒这种东西,才能维持了生活这样子。
|
14
zhuangzhuang1988 2019-06-05 01:01:42 +08:00
结构化的 Shell 比一堆 linux 的面向字符的好多了,
而且还可以调试😄 |
15
hakono 2019-06-05 01:06:40 +08:00
一直以来拒绝学 PowerShell 的一个原因是…………感觉 PowerShell 代码实在看着太丑了…………
一种看了让人本能拒绝的那种丑………… 然后 linux 的 bash 的则是另一种方面的丑………… |
16
lynskylate 2019-06-05 02:04:06 +08:00 via Android
受不了 ps 的最重要原因是太慢,第一次打开要 2-3s,以至于很多时候我宁可用 cmd,毕竟大部分我用命令行只是调一些命令。
|