Разобрался с помощью Lee_Dailey & js2010! Спасибо, ребята!
РЕДАКТИРОВАТЬ Я пытаюсь выяснить, почему я получаю ложное срабатывание при развертывании через SCCM на коллекцию компьютеров. Я получаю устройства Несоответствующие, когда на самом деле они есть. Меня попросили предоставить VB-версию сценария операторами SCCM. Я вычеркиваю потенциальные причины.
Я пытаюсь преобразовать функциональность сценария PowerShell в VBScript. Сценарий проверяет токен AzureAdPrt на устройстве, но проблема заключается в выводе этой команды, поскольку она отформатирована в таблице, и я хочу проверить только определенное значение.
Я попытался скопировать технологию на VBScript, но у меня нет с ней опыта.
Код Powershell:
$dsregcmd = dsregcmd /status
$PRTDetails = New-Object -TypeName PSObject
$dsregcmd | Select-String -Pattern " *[A-z]+ : [A-z]+ *" | ForEach-Object {
Add-Member -InputObject $PRTDetails -MemberType NoteProperty -Name (([String]$_).Trim() -split " : ")[0] -Value (([String]$_).Trim() -split " : ")[1]
}
$PRT_Status = ($PRTDetails).AzureAdPrt
IF($PRT_Status -eq 'YES'){
return $True
}ELSE{
return $False
}
Код VB:
Set oShell = CreateObject ("WScript.Shell")
oShell.run "cmd /c dsregcmd /status"
IF oShell = "AzureAdPrt : YES"
echo $true
ELSE
echo $false
Что мне нужно, так это VBScript, который возвращает $ true, если AzureAdPrt равен YES, и $ False, если это не так.