Этот скрипт Powershell намеревается написать в Google Sheets, учитывая, что пользователь уже вошел в свою учетную запись Google в браузере, но выдает ошибку System.Net.WebException
. Сообщение:
Invoke-WebRequest: The remote server returned an error: (401) Unauthorized.
In C:\Users\F76254C\Desktop\Nova pasta\Batch files\Available Projects\Latam HIL Lab Menu\libs\GAS.ps1:141 character:1
+ Invoke-WebRequest -UseBasicParsing -Uri $GoogleWebAppURL -Method POST ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
Я протестировал этот код с помощью Google Web App, развернутой с моей личной учетной записью Google (у кого есть доступ к приложению: Кто угодно), и он работает без ошибок, но мне нужно сделать это работа с использованием веб-приложения Google, развернутого с моей профессиональной учетной записью Google (у кого есть доступ к приложению: все сотрудники компании).
$GoogleWebAppURL = 'URL_DEPLOYED_FROM_PROFESSIONAL_GOOGLE_ACCOUNT'
$Column1Name = 'Computer'
$Column1Value = $env:COMPUTERNAME
$Column2Name = 'IP Address'
$Column2Value = (Test-Connection -ComputerName ::1 -Count 1|select ipv4address).ipv4address
$Column3Name = 'OS Version'
$Column3Value = "$([System.Environment]::OSVersion.Version.Major)`.$([System.Environment]::OSVersion.Version.Minor)`.$([System.Environment]::OSVersion.Version.Build)`.$([System.Environment]::OSVersion.Version.Revision)"
$Column4Name = 'Uptime'
$Column4Value = (Get-CimInstance -ClassName win32_operatingsystem | select lastbootuptime).lastbootuptime
$postParams = @{$Column1Name=$Column1Value;$Column2Name=$Column2Value;$Column3Name=$Column3Value;$Column4Name=$Column4Value}
Invoke-WebRequest -UseBasicParsing -Uri $GoogleWebAppURL -Method POST -Body $postParams
Write-Host `"$Column1Name=$Column1Value"&"$Column2Name=$Column2Value"&"$Column3Name=$Column3Value"&"$Column4Name=$Column4Value`"