Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 93
Благодарности: 2

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip GetUserSID.zip
(42.5 Kb, 3 просмотров)

динозавра,
Это можно сделать с помощью макроса от kotkovets.
Код: Выделить весь код
!include "MUI2.nsh"

!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"

ShowInstDetails show
OutFile GetUserSID.exe
Caption "GetUserSID"

!define GetUserSID "!insertmacro CallGetUserSID"

!macro CallGetUserSID USERNAME SID
      System::Store S
      StrCpy '$0' '${USERNAME}'
      StrCmp '$0' '' 0 +2
      ExpandEnvStrings '$0' "%USERNAME%"
      System::Call "*(&t1024)i.r1"
      System::Call "advapi32::LookupAccountName(tn,tr0,ir1,*i1024,tn,*i1024,*in)i.r0"
      IntCmp $0 1 0 +2 +2
      System::Call "advapi32::ConvertSidToStringSid(ir1,*t.s)"
      IntCmp $0 1 +2 0 0
      Push error
      System::Free $1
      System::Store L
      Pop "${SID}"
!macroend

!ifdef NSIS_UNICODE
   !define STR %s
!else
   !define STR %S
!endif

Section
   System::Call "netapi32::NetQueryDisplayInformation(wn,i1,i0,i-1,i${NSIS_MAX_STRLEN},*i.R0,*i.R1)i.R4"
   ${If} $R4 = 0
      ${For} $R4 1 $R0
         System::Call "*$R1(i.R2,i.R3,i,w,i,i)"
         IntFmt '$R2' ${STR} $R2
         IntFmt '$R3' ${STR} $R3
         ${GetUserSID} '$R2' '$R5'
         IntOp $R1 $R1 + 24

        SetOutPath "C:\Users\$R2\AppData\Roaming\test"
        File "test.txt"

      ${Next}
      System::Call "netapi32::NetApiBufferFree(iR1)"
   ${EndIf}
SectionEnd
Установит всем пользователям файл "test.txt" в директорию "C:\Users\%UserName%\AppData\Roaming\test"
Будет установлено всем найденным пользователям и активным и не активированным. Незадача в том, что в директории "Пользователи" могут появятся папки не активированных пользователей таких, как "Гость", "Администратор".
Как привинтить сюда фильтр, чтобы не устанавливалось не активированным пользователям понятия не имею.
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:48, 08-02-2022 | #2611