PowerShell 技能连载 - 使用 PSGraph

PSGraph 是一个非常棒的免费 PowerShell 库,您可以用它来将关系可视化。在使用 PSGraph 之前,需要安装它的依赖项(graphviz 引擎)。两者都需要管理员特权:

1
2
3
4
5
6
7
8
#requires -RunAsAdministrator

# install prerequisite (graphviz)
Register-PackageSource -Name Chocolatey -ProviderName Chocolatey -Location http://chocolatey.org/api/v2/
Find-Package graphviz | Install-Package -ForceBootstrap

# install PowerShell module
Install-Module -Name PSGraph

安装完成后,这是如何将对象关系可视化的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$webServers = 'Web1','Web2','web3'
$apiServers = 'api1','api2'
$databaseServers = 'db1'

graph site1 {
# External/DMZ nodes
subgraph 0 -Attributes @{label='DMZ'} {
node 'loadbalancer' @{shape='house'}
rank $webServers
node $webServers @{shape='rect'}
edge 'loadbalancer' $webServers
}

subgraph 1 -Attributes @{label='Internal'} {
# Internal API servers
rank $apiServers
node $apiServers
edge $webServers -to $apiServers

# Database Servers
rank $databaseServers
node $databaseServers @{shape='octagon'}
edge $apiServers -to $databaseServers
}
} | Export-PSGraph -ShowGraph

这个例子中创建的图形使用脚本文件中的 hypothetical 服务器并向其添加合适的关系,并显示图像。

PowerShell 技能连载 - 使用 PSGraph

http://blog.vichamp.com/2018/08/06/using-psgraph/

作者

吴波

发布于

2018-08-06

更新于

2022-07-06

许可协议

评论