Я новичок в VBScript, и у меня возникают проблемы. Сценарий выполняет вызов API и вытягивает информацию об учетной записи, помещая данные в файл CSV
. Я вытаскиваю данные в массив, перебираю через каждую учетную запись и, если есть определенные свойства, назначает их переменной, которая должна быть записана в CSV
. Проблема, с которой я сталкиваюсь, заключается в том, что если одна учетная запись имеет право на свойство, она устанавливает переменную, и если следующая учетная запись не соответствует критериям, переменная все еще сохраняет значение, давая ложные результаты в CSV
.Переменные значения для каждого цикла сохраняются
Set SFTPServer = WScript.CreateObject("SFTPCOMInterface.CIServer")
accounts = SFTPServer.AdminAccounts
For each admin in accounts
adminName = admin.Login
Dim count : count = admin.GetPermissionsCount()
For i = 0 To CInt(count)- 1
Set permission = admin.GetPermission(i)
' AdminPermissionsPolicy:
' ServerManagement = 0,
' SiteManagement = 1,
' STManagement = 2,
' UserCreation = 3,
' ChangePassword = 4,
' COMManagement = 5,
' ReportManagement = 6,
Select case permission.Permission
case 0:
serverAdmin = "Server Admin"
case 1:
site = permission.SiteName
case 2:
stMan = "2"
case 3:
userCreate = "3"
case 4:
chPassword = "4"
case 5:
comMan = "5"
case 6:
report = "6"
End Select
Next
WriteStuff.WriteLine""+adminName+"|"+site+"|"+stMan+"|"+userCreate+"|"+chPassword+"|"+comMan+"|"+report+"")
Next
Спасибо Бонд! У этого почти есть то, что я хочу. Мне все еще нужно добавить adminName к выходу. Я попытался добавить его в массив, но если первый случай соответствует ему, он заменяет имя администратора администратором сервера. Желаемый результат должен выглядеть так: adminName | server admin | siteName | ... – shafe
Вы можете сделать его частью массива, но это испортит наши значения индекса массива, поэтому, вероятно, проще просто добавить его в свой вывод отдельно: 'WriteStuff. WriteLine adminName & "|" & Join (a, "|") ' – Bond
Это получилось. Я тоже пытался это решение, но не имел правильного синтаксиса. Спасибо за вашу помощь Бонд! – shafe