正在创建新的 object/table,格式正确吗?
Creating new object/table, correct format?
$token = 'xxxxxxxxxxxxxxxx'
#First uri is to pull a list of subusers
$uri = "https://api.sendgrid.com/v3/subusers"
$uri2 = "https://api.sendgrid.com/v3/teammates?limit=500&offset=0"
#Prompts for target email address
$email = Read-Host "Enter the users email"
$headers1 = @{"Authorization" = "Bearer $token"}
#Get a list of all subusers
$subs = Invoke-RestMethod -Method get -uri $uri -headers $headers1
$subuser = $subs | select-object username
#Loop through all subusers, displaying usernames
foreach ($su in $subuser){
$headers2 = @{"Authorization" = "Bearer $token"
"on-behalf-of" = $su.username
}
$teamarray = invoke-restmethod -method get -uri $uri2 -headers $headers2
#$teamarray.gettype()
#$teamarray.result | select-object username
}
#[pscustomobject]@{
# Subuser = $subuser
# TeamMate = $teamarray
# }
$objSubuserTMTable = [ordered]@{
SubUser = $subuser;
Username = $teamarray
}
new-object PSObject -property $objSubuserTMTable | format-table
所以我的脚本的这一部分产生了一个 table,但它不是。我得到由两列组成的 1 条截断线。将其正确格式化为两列的正确语法是什么 table?
谢谢!
您的代码按照编写的方式运行。我 运行 我的系统上的以下内容并获得了预期的输出。你的问题一定在别处。
$subuser = "subuser"
$teamarray = "username"
$objSubuserTMTable = [ordered]@{
SubUser = $subuser;
Username = $teamarray
}
new-object PSObject -property $objSubuserTMTable | format-table
输出:
SubUser Username
------- --------
subuser username
我不太确定您希望这种格式如何,但您可以像下面这样将所有 TeamArray 用户名连接在一起(我使用的是分号):
$objSubuserTMTable = foreach ($su in $subuser){
$headers2 = @{
"Authorization" = "Bearer $token"
"on-behalf-of" = $su.username
}
$teamarray = Invoke-RestMethod -Method Get -Uri $uri2 -Headers $headers2
[PsCustomObject]@{
SubUser = $su.username
Username = ($teamarray.result | Select-Object -ExpandProperty username) -join '; '
}
}
# output on screen. Will truncate if this exceeds the with of the console
$objSubuserTMTable | Format-Table -AutoSize
# output to CSV file you can open in Excel (not truncated)
$objSubuserTMTable | Export-Csv -Path 'Path\To\The\TeamUsersFile.csv' -NoTypeInformation
如果你想要多行,你必须有多行数据。格式 table 适用于每个对象代表一行的集合
$objSubuserTMTable = @(
[PSCustomObject]@{
SubUser = 'subuser1'
Username = 'teamarray1'
}
[PSCustomObject]@{
SubUser = 'subuser2'
Username = 'teamarray2'
}
[PSCustomObject]@{
SubUser = 'subuser3'
Username = 'teamarray3'
}
)
$objSubuserTMTable | format-table
输出:
SubUser Username
------- --------
subuser1 teamarray1
subuser2 teamarray2
subuser3 teamarray3
$token = 'xxxxxxxxxxxxxxxx'
#First uri is to pull a list of subusers
$uri = "https://api.sendgrid.com/v3/subusers"
$uri2 = "https://api.sendgrid.com/v3/teammates?limit=500&offset=0"
#Prompts for target email address
$email = Read-Host "Enter the users email"
$headers1 = @{"Authorization" = "Bearer $token"}
#Get a list of all subusers
$subs = Invoke-RestMethod -Method get -uri $uri -headers $headers1
$subuser = $subs | select-object username
#Loop through all subusers, displaying usernames
foreach ($su in $subuser){
$headers2 = @{"Authorization" = "Bearer $token"
"on-behalf-of" = $su.username
}
$teamarray = invoke-restmethod -method get -uri $uri2 -headers $headers2
#$teamarray.gettype()
#$teamarray.result | select-object username
}
#[pscustomobject]@{
# Subuser = $subuser
# TeamMate = $teamarray
# }
$objSubuserTMTable = [ordered]@{
SubUser = $subuser;
Username = $teamarray
}
new-object PSObject -property $objSubuserTMTable | format-table
所以我的脚本的这一部分产生了一个 table,但它不是。我得到由两列组成的 1 条截断线。将其正确格式化为两列的正确语法是什么 table?
谢谢!
您的代码按照编写的方式运行。我 运行 我的系统上的以下内容并获得了预期的输出。你的问题一定在别处。
$subuser = "subuser"
$teamarray = "username"
$objSubuserTMTable = [ordered]@{
SubUser = $subuser;
Username = $teamarray
}
new-object PSObject -property $objSubuserTMTable | format-table
输出:
SubUser Username
------- --------
subuser username
我不太确定您希望这种格式如何,但您可以像下面这样将所有 TeamArray 用户名连接在一起(我使用的是分号):
$objSubuserTMTable = foreach ($su in $subuser){
$headers2 = @{
"Authorization" = "Bearer $token"
"on-behalf-of" = $su.username
}
$teamarray = Invoke-RestMethod -Method Get -Uri $uri2 -Headers $headers2
[PsCustomObject]@{
SubUser = $su.username
Username = ($teamarray.result | Select-Object -ExpandProperty username) -join '; '
}
}
# output on screen. Will truncate if this exceeds the with of the console
$objSubuserTMTable | Format-Table -AutoSize
# output to CSV file you can open in Excel (not truncated)
$objSubuserTMTable | Export-Csv -Path 'Path\To\The\TeamUsersFile.csv' -NoTypeInformation
如果你想要多行,你必须有多行数据。格式 table 适用于每个对象代表一行的集合
$objSubuserTMTable = @(
[PSCustomObject]@{
SubUser = 'subuser1'
Username = 'teamarray1'
}
[PSCustomObject]@{
SubUser = 'subuser2'
Username = 'teamarray2'
}
[PSCustomObject]@{
SubUser = 'subuser3'
Username = 'teamarray3'
}
)
$objSubuserTMTable | format-table
输出:
SubUser Username
------- --------
subuser1 teamarray1
subuser2 teamarray2
subuser3 teamarray3