我在使用 PowerShell 从 API 查询返回特定数据时遇到问题。我正在进行一个简单的 API 调用来获取用户,效果很好。
$Response = Invoke-RestMethod -uri $uri -Method GET -Headers $Headers
$Response
Run Code Online (Sandbox Code Playgroud)
该调用返回以下内容。
Total Sum Users Groups
----- ----- ----- ------
1 1 @{123456789=} @{Test Users=System.Object[]; Global Users=System.Object[]...
Run Code Online (Sandbox Code Playgroud)
$Response.Users 返回以下内容
123456789
---------
@{name= Test Case; fullname=Test Tester Case; office=Area 51;....
Run Code Online (Sandbox Code Playgroud)
问题是数字“123456789”是一个唯一标识符,会随着每个用户的变化而变化。为了从每个用户那里提取所需的数据,我需要能够解析并获取该数字。
这是 $Response.Users 的 JSON 输出
{
"123456789": {
"name": "Test Case",
"fullname": "Tester Test Case",
"office": "Area 51",
"country": "United States",
"groups": [
"Test Users",
"Global Users",
"Test OU"
]
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏!
谢谢
尝试使用以下命令从 PowerShell 连接到 SFTP 服务器时,我收到以下消息psftp:
错误:
psftp.exe :服务器的主机密钥未缓存在注册表中。您无法保证服务器就是您认为的计算机。
服务器的rsa2密钥指纹为:ssh-rsa 2048 41289438190410491
连接被放弃。
PowerShell 脚本:
$Username = "Username"
$Password = "Password"
psftp.exe sftpserver -l $Username -pw $Password -batch -bc -b C:\batch\download.bat
Run Code Online (Sandbox Code Playgroud)
(psftp.exe 存储在 c:\windows\system32 中)
我之前已经通过 PuTTY 和 WinSCP 从该服务器 SSH 到该服务器,没有出现任何问题。但是,通过 PowerShell 运行时它不会连接。