目前我正在编写一些脚本来处理我们的客户备份。所以备份是在 Synology Box 上运行的。该脚本在 Windows 10 和 Windows Server 2019 上运行良好。但我无法在 WindowsServer 2012R2 上启动它。我尝试了很多事情来处理,但没有奏效。
$ip = "XXXXXXXXXX"
$u = "XXXXXXX"
$p = "XXXXXXX"
$d = "XXXXXX"
#Session ID auslesen & Authentifizierung
$a = Invoke-WebRequest -UseBasicParsing "http://$ip/webapi/auth.cgi?api=SYNO.API.Auth&version=2&method=login&account=$u&passwd=$p&session=ActiveBackup&format=cookie"
$ajson = $a.Content
$aobject = ConvertFrom-Json -InputObject $ajson
$s = $aobject.data.sid
起初他向我展示了他无法处理 utf-8 的错误,我将 Powershell 更新到了 5.1 版,现在 Windows 总是告诉我 $a 的值不允许为空。似乎他无法收到任何会话号码。在 Windows 10 和 Windows Server 2019 上,它可以完美运行。请任何人都可以帮助我。beeee真的很好吗
问候亚斯波
编辑我明白了。对于遇到相同问题的每个人,只需采用经典方式,无需调用 webrequest
$url = "http://$ip/webapi/auth.cgi?api=SYNO.API.Auth&version=2&method=login&account=$u&passwd=$p&session=ActiveBackup&format=cookie"
$wc = New-Object System.Net.WebClient
$result = $wc.DownloadString($url)