-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathJSON01.ps1
More file actions
76 lines (68 loc) · 1.78 KB
/
JSON01.ps1
File metadata and controls
76 lines (68 loc) · 1.78 KB
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# 1
$User = @"
{
"firstName": "Иван",
"lastName": "Иванов",
"address": {
"streetAddress": "Московское ш., 101, кв.101",
"city": "Ленинград",
"postalCode": 101101
},
"phoneNumbers": [
"812 123-1234",
"916 123-4567"
]
}
"@ | ConvertFrom-Json
$User.firstName
$User.phoneNumbers[0]
# 2
$json = @"
{
"ServerName" : "$env:ComputerName",
"UserName" : "$env:UserName",
"ComputerInfo" :
{
"Manufacturer": "$((Get-WmiObject Win32_ComputerSystem).Manufacturer)",
"Architecture": "$((Get-wmiObject Win32_OperatingSystem).OSArchitecture)",
"SerialNumber": "$((Get-wmiObject Win32_OperatingSystem).SerialNumber)"
},
"CollectionDate" : "$(Get-Date)"
}
"@
$Info = ConvertFrom-Json -InputObject $json
$Info.ServerName
$Info.ComputerInfo.Manufacturer
$Info.ComputerInfo.Architecture
# 3
$File = Get-ChildItem C:\Windows\System32\calc.exe
$File.VersionInfo | ConvertTo-Json
$File.VersionInfo | fl -Property *
# 4
$response = Invoke-WebRequest -Uri "https://fixmypc.ru/json.html"
$response | Get-Member
$response.Content
$json = ConvertFrom-Json -InputObject $response.Content
$json | Get-Member
$json.employee
# {"employee":{"name":"sonoo","salary":[56000, 30000],"married":true}}
$json = @"
{
"employee":
{
"name": "sonar",
"salary":[
56000,
30000
],
"married":true
}
}
"@
$Info = ConvertFrom-Json -InputObject $json
$info.employee.name
$info.employee.Salary[0]
ConvertFrom-Json -InputObject $json | SELECT -ExpandProperty Employee
ConvertTo-Json -InputObject (Get-Service)
# 5
(Get-Content -Path C:\vm\shared\ps\1233\1.json -Raw | ConvertFrom-Json).employee