Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Борьба с ограничением пользовательских прав в домене. / 25 сообщений из 40, страница 1 из 2
26.08.2012, 21:51
    #37930941
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Тем на эту тему было много, но я прошу совета, каким путем пойти в принципе, чтобы решить несколько задач. Итак:

Раньше моя программа использовалась пользователями, имеющими на машине права локальных админов, поэтому вопросы прав меня не очень беспокоили. Теперь часть машин переместилась (и дальше будет больше) в домен, где права пользователя ограничены, в частности, он не может самостоятельно устанавливать программы.
В принципе, первичную установку программы с дистрибутива производят админы при инсталляции новой машины и меня это тоже не сильно беспокоит. Но мне позарез надо, чтобы пользователь имел возможность самостоятельно оперативно обновить версию (или устарить), не дожидаясь, когда придет по вызову кто-то из админов.

Как происходит сейчас. Программа работает с сервером БД. Новые версии я выкладываю прямо в БД. Когда пользователю нужно сменить версию программы, он нажимает кнопку, выбирает нужную версию из списка, из БД скачивается небольшой файлик-инсталлятор, далее он скачивает нужную версию exe-файла и ocx-библиотеку, заменяет exe-файл, заменяет ocx в system32, регистрирует библиотеку с помощью DLLSelfRegister, вот, собственно, и все. Соответственно, теперь некоторые пользователи самостоятельно не могут обновиться.

Как лучше (и возможно ли) изменить структуру всего этого, чтобы иметь возможность решить эту проблему? С админами, в принципе можно о чем-то и договориться, права локального админа пользователям они не дадут, но может могут разрешить что-то конкретное (я не силен в управлении доменом и не знаю, а что собственно, я могу у них попросить).

ЗЫ: Есть еще пара проблем, которые решить легче:

1) Прога создает папки и файлы для своей работы. Сейчас создает в собственной директории, но это, видимо, я могу просто унести в AppData? Или там тоже не будет достаточно прав, лучше в папку documents&settings?

2) Прога должна сохранить локально некие данные, которые должны быть доступны, даже если программа запущена под другим пользователем. Сейчас хранит опять же в собственной папке. Сохранять их куда-нить в HKLM? А хватит опять же прав на это?
...
Рейтинг: 0 / 0
26.08.2012, 22:28
    #37930965
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Если старые члены интерфейсов библиотек не удаляются и не изменяются, то библиотеки можно просто перезаписывать без перерегистрации.
...
Рейтинг: 0 / 0
26.08.2012, 23:06
    #37930977
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
1) А как же новые члены? Они все равно будут видны?
2) Перезапись в system32 все равно не разрешена, куда-то в другое место ее совать, опять же куда?
3) Изредка я все же меняю старые члены, не сохраняя совместимость, в основном добавляются параметры
...
Рейтинг: 0 / 0
26.08.2012, 23:52
    #37931013
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
> Shocker.Pro
> Как лучше (и возможно ли) изменить структуру всего этого, чтобы иметь возможность решить эту проблему?
Перенести приложение на сервер приложений (если он есть...).
...
Рейтинг: 0 / 0
27.08.2012, 00:05
    #37931019
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
скукотищаПеренести приложение на сервер приложений (если он есть...).и работать через RDP?
...
Рейтинг: 0 / 0
27.08.2012, 02:22
    #37931094
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Да.
...
Рейтинг: 0 / 0
27.08.2012, 08:04
    #37931148
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Shocker.Pro , как вариант (у нас сделано)


ClickOnce-таория
ClickOnce Deployment for Unmanaged Code (C++, VB6, etc)
...
Рейтинг: 0 / 0
27.08.2012, 08:05
    #37931149
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
и, кстати, да у нас есть также сторонние приложения, которые размещены в сети и пользователи запускают через сеть (это как бы дополнение скукотища , но без РДП)
...
Рейтинг: 0 / 0
27.08.2012, 10:01
    #37931248
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Shocker.Pro1) А как же новые члены? Они все равно будут видны?
2) Перезапись в system32 все равно не разрешена, куда-то в другое место ее совать, опять же куда?
3) Изредка я все же меняю старые члены, не сохраняя совместимость, в основном добавляются параметры1) Да
2) C:\Documents and Settings\User\Application Data.
...
Рейтинг: 0 / 0
27.08.2012, 10:38
    #37931310
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
3) При таком подходе добавление параметра ни на чем не отражается:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
Public Interface IParameters:

Public Property Get Count() As Integer
End Property

Public Property Let Item(Index As Variant, Value As Variant)
End Property

Public Property Get Item(Index As Variant) As Variant
End Property


Public Class HelloWorld:

Public Function GetData(Params As IParameters)
Dim lParams As prm_HelloWorld_GetData
    Set lParams = Params
    Debug.Print lParams.Param1, lParams.Param1, lParams.Param1
End Function


Public Class prm_HelloWorld_GetData:

Implements IParameters

Public Param1 As Date
Public Param2 As String
Public Param3 As Long

Private Property Get IParameters_Count() As Integer
    IParameters_Count = 3
End Property

Private Property Let IParameters_Item(Index As Variant, RHS As Variant)
Dim sProp As String
    If IsNumeric(Index) Then
        'sProp = найти код, определяющий имя свойства по номеру
    Else
        sProp = Index
    End If
    CallByName Me, sProp, VbLet, RHS
End Property

Private Property Get IParameters_Item(Index As Variant) As Variant
Dim sProp As String
    If IsNumeric(Index) Then
        'sProp = найти код, определяющий имя свойства по номеру
    Else
        sProp = Index
    End If
    IParameters_Item = CallByName(Me, sProp, VbGet)
End Property

'Если бывают объектные параметры, добавить Property Set и его поддержку в Get
'но это не обязательно, просто интерфейс не должен быть пустым
...
Рейтинг: 0 / 0
27.08.2012, 14:17
    #37931808
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
скукотищаShocker.Proи работать через RDP?Да.Ну RDP недостаточно удобен, так как люди работают не только с моей программой, но и с кучей софта, который установлен к них локально - переключаться туда-сюда неудобно.
В качестве пояснения: в домене работают с программой офисные пользователи. Есть достаточное количество пользователей, работающих через интернет, в том числе со своих домашних машин.

HandKot Shocker.Pro , как вариант (у нас сделано)
ClickOnce-таория
ClickOnce Deployment for Unmanaged Code (C++, VB6, etc) Опять же, если бы программа использовалась только в домене, можно было бы развернуть, но, повторюсь, есть куча внешних пользователей.
HandKotи, кстати, да у нас есть также сторонние приложения, которые размещены в сети и пользователи запускают через сеть (это как бы дополнение скукотища , но без РДП)Опять же, если все пользователи в локалке, у меня - не все.
Antonariy3) При таком подходе добавление параметра ни на чем не отражается:А добавление новых контролов?
...
Рейтинг: 0 / 0
27.08.2012, 14:26
    #37931838
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Shocker.ProА добавление новых контролов?Точно не уверен. Попробуй добавить и скомпилировать, сохраняя бинарную совместимость со старой версией, потом переписать на другой комп и создать объект (например из-под экселя) под ограниченным пользователем.
...
Рейтинг: 0 / 0
27.08.2012, 14:30
    #37931852
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Shocker.ProHandKot Shocker.Pro , как вариант (у нас сделано)
ClickOnce-таория
ClickOnce Deployment for Unmanaged Code (C++, VB6, etc) Опять же, если бы программа использовалась только в домене, можно было бы развернуть, но, повторюсь, есть куча внешних пользователей.


так там про такое ограничение ничего не сказано
Введение в развертывание ClickOnce
наоборот "Существует три способа публикации приложения ClickOnce: с веб-страницы, ... "
и вдобавок таблица

Таблица сравнения ClickOnce и установщика Windows
Функция ClickOnce Установщик WindowsОбновление через Интернет Да Нет

так что удаленные пользователи не есть проблема
...
Рейтинг: 0 / 0
27.08.2012, 14:40
    #37931874
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
HandKotтак что удаленные пользователи не есть проблематы не понял мою мысль. Я о том, что для ее функционирования требуется разворачивать сам ClickOnce на локальной машине пользователя.

HandKotТаблица сравнения ClickOnce и установщика Windowsа о таблице сравнения:

Функция ClickOnce Установщик WindowsУстановка общих файлов Нет Да
...
Рейтинг: 0 / 0
27.08.2012, 14:41
    #37931879
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
А еще есть манифесты , и эта тема. Я там костыль выкладывал, нужно регистрироваться чтобы скачать. И там же:
RegsvrEx
Регистратор COM(OLE,ActivX)-компонентов, альтернатива regsvr32.
В дополнение к возможностям regsvr32 позволяет зарегистрировать компонент
под текущим пользователем (актуально для Win2000/XP).
В этом случае для регистрации не требуются права администратора (т.к. вся
запись идет в ветку реестра текущего пользователя); однако
зарегистрированный таким образом компонент доступен только текущему
пользователю.
...
Рейтинг: 0 / 0
27.08.2012, 14:56
    #37931909
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
AntonariyЯ там костыль выкладывалты имеешь ввиду это:AntonariyСоздание объекта из ActiveX-сервера (OCX, DLL) без регистрации. Тест проводился только под WinXP.У меня не сработал проект, да и динамическое создание контрола не канает - все переписывать надоть.

Остальное поизучаю
...
Рейтинг: 0 / 0
27.08.2012, 18:57
    #37932447
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
О манифестах

я вот пялюсь в msdn весь день и никак не могу понять один нюанс (шаг 7 для VB6)

In the \deployed folder, create a private assembly manifest file (a text file) for the SideBySide.dll component and call it SideBySide.X.manifest. Paste the following into the file:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" 
  manifestVersion="1.0">

<assemblyIdentity
   type="win32"
   name="SideBySide.X"
   version="1.0.0.0" />

<file name = "SideBySide.dll">

<comClass
    clsid="{[CLSID_SideBySideClass]}"
    threadingModel = "Apartment" />

<typelib tlbid="{[LIBID_SideBySide]}"
       version="1.0" helpdir=""/>

</file>

<comInterfaceExternalProxyStub 
    name="_SideBySideClass" 
    iid="{[IID__SideBySideClass]}"
    proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"
    baseInterface="{00000000-0000-0000-C000-000000000046}"
    tlbid = "{[LIBID_SideBySide]}" />

</assembly>
I've written the GUID values, which will be particular to your project, in the form of placeholders. The respective values of these placeholders can be found by opening SideBySide.dll in the OLE/COM ObjectViewer (Oleview.exe) tool.

То есть есть два ГУИДа, которые прописаны от фонаря. Мне нужно узнать эти два ГУИДа для собственного ocx, для чего предлагается открыть файл с помощью OLE Viewer.
Ну открыть-то я его открыл, только ни черта непонятно, откуда именно брать эти два ГУИДа. Причем приведенный там же пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
[
  uuid([LIBID_SideBySide]),
  version(1.0),
  custom(50867B00-BB69-11D0-A8FF-00A0C9110059, 8169)

]
library SideBySide
{
    // TLib :     // TLib : OLE Automation : {00020430-0000-0000-
C000-000000000046}
    importlib("stdole2.tlb");

    // Forward declare all types defined in this typelib
    interface _SideBySideClass;

    [
      odl,
      uuid([IID__SideBySideClass]),
      version(1.0),
      hidden,
      dual,
      nonextensible,
      oleautomation
    ]
    interface _SideBySideClass : IDispatch {
        [id(0x60030000)]
        HRESULT Version([out, retval] VARIANT* );
    };

    [
      uuid([CLSID_SideBySideClass]),
      version(1.0)
    ]
    coclass SideBySideClass {
        [default] interface _SideBySideClass;
    };
};
ясности нифига не вносит - там только один ГУИД - custom, то ли это, что надо и где брать второй?
...
Рейтинг: 0 / 0
27.08.2012, 20:31
    #37932532
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
baseInterface нужен именно такой какой указан.

У меня oleview выдало это:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
// Generated .IDL file (by the OLE/COM Object Viewer)
// 
// typelib filename: <could not determine filename>

[
   uuid(BE020F5D-44DC-4A75-969C-E732B54EA3B1), 
  version(6.0)
]
library Activation
{
    // TLib :     // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
    importlib("STDOLE2.TLB");

    // Forward declare all types defined in this typelib
    interface _Activator;

    [
      odl,
       uuid(907DB770-E2F9-477F-AB62-07981CABB8E3), 
      version(1.0),
      hidden,
      dual,
      nonextensible,
      oleautomation
    ]

Нужных значений для proxyStubClsid32 не так много, одно из них должно сработать.

А еще поиск .
...
Рейтинг: 0 / 0
27.08.2012, 21:57
    #37932584
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
> Shocker.Pro
> тынц на МСДН
> {многабукаф, поскипано}
> ясности нифига не вносит ...


Хабрахабр: Клиентские Windows приложения на JavaScript .
Серый форум: WSH: Использование COM-сервера без его регистрации в системе .
Вроде-бы нормально описано создание манифестов для reg-free использования COM-среверов/ActiveX. На хабре покороче :))
...
Рейтинг: 0 / 0
05.09.2012, 15:51
    #37944964
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Млин. Для начала под placeholders в статье msdn имелись ввиду записи типа [IID__SideBySideClass] аж четыре штуки, где чего брать - непонятно.

По одной из ссылок нашел некий генератор манифестов regsvr42.exe.
Он сам создает оба манифеста. Для созданной dll-ки он сгенерил корректные манифесты и все заработало.
Создал ocx - с единственным контролом внутри "ucc" и exe-шник с формой и этим контролом, создал манифесты. При попытке запустить exe-ник пишет:
"Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему."

в принципе, тут вскользь упомянуто, что regsvr42.exe может создать некорректный манифест для ocx и его придется править, но как и что править?

Вот манифест, который получился для моего ocx-а:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity
    type="win32"
    name="ice_bird.sxs"
    version="1.0.0.0" />

<file name="ice_bird.ocx">

<comClass
    clsid="{85FF692F-2E0E-4B91-BC32-D461F5CCEDDF}"
    threadingModel = "Apartment" />

<typelib tlbid="{67FCE3F4-B1F7-47C9-86D1-F7E8A6298A6E}"
       version="1.0" helpdir="V:\999" />

</file>

<comInterfaceExternalProxyStub
    name="_ucc"
    iid="{00CF0DA4-5ABE-4AF1-83CB-7F2110BAF063}"
    proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"
    baseInterface="{00000000-0000-0000-C000-000000000046}"
    tlbid="{67FCE3F4-B1F7-47C9-86D1-F7E8A6298A6E}" />

<comInterfaceExternalProxyStub
    name="__ucc"
    iid="{A3934F56-4418-42FA-A969-5B46DBE05C84}"
    proxyStubClsid32="{00020420-0000-0000-C000-000000000046}"
    baseInterface="{00000000-0000-0000-C000-000000000046}"
    tlbid="{67FCE3F4-B1F7-47C9-86D1-F7E8A6298A6E}" />

<comInterfaceExternalProxyStub
    name="ucc"
    iid="{00CF0DA4-5ABE-4AF1-83CB-7F2110BAF063}"
    proxyStubClsid32=""
    baseInterface="{00000000-0000-0000-C000-000000000046}"
 />

<comInterfaceExternalProxyStub
    name="ucc"
    iid="{A3934F56-4418-42FA-A969-5B46DBE05C84}"
    proxyStubClsid32=""
    baseInterface="{00000000-0000-0000-C000-000000000046}"
 />

</assembly>


вот то, что выдает OLE-Viewer:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
// Generated .IDL file (by the OLE/COM Object Viewer)
// 
// typelib filename: <could not determine filename>

[
  uuid(67FCE3F4-B1F7-47C9-86D1-F7E8A6298A6E),
  version(1.0),
  helpstring("ice_bird")
]
library ice_bird
{
    // TLib :     // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
    importlib("stdole2.tlb");

    // Forward declare all types defined in this typelib
    interface _ucc;
    dispinterface __ucc;

    [
      odl,
      uuid(00CF0DA4-5ABE-4AF1-83CB-7F2110BAF063),
      version(1.0),
      hidden,
      dual,
      nonextensible,
      oleautomation
    ]
    interface _ucc : IDispatch {
    };

    [
      uuid(85FF692F-2E0E-4B91-BC32-D461F5CCEDDF),
      version(1.0),
      noncreatable,
      control
    ]
    coclass ucc {
        [default] interface _ucc;
        [default, source] dispinterface __ucc;
    };

    [
      uuid(A3934F56-4418-42FA-A969-5B46DBE05C84),
      version(1.0),
      hidden,
      nonextensible
    ]
    dispinterface __ucc {
        properties:
        methods:
    };
};

и как понять, что тут неправильно...
...
Рейтинг: 0 / 0
06.09.2012, 18:33
    #37947205
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
В общем, вроде разобрался с манифестом: из того, что генерит regsvr42 нужно убрать разделы <comInterfaceExternalProxyStub> и все работает.

Только вот все, да не все.
Не работает динамическое создание контрола из библиотеки -
Invalid class string.
Looking for object with ProgID:

Исходники и исполнялки с манифестами прикладываю. Есть какие-нибудь предложения, как это исправить.
...
Рейтинг: 0 / 0
06.09.2012, 20:16
    #37947335
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Shocker.Pro, а почему нельзя дать соответствующим пользователям домена права локальных админов на своих машинах? Админы домена внятно обосновали данный запрет, с приложением соответствующего объяснения "на бумаге", и при этом есть соответствующее ("бумажное" же) указание от руководства организации? Или просто им лень заниматься администрирование AD?
...
Рейтинг: 0 / 0
06.09.2012, 21:21
    #37947379
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
AndreTM,
Нельзя. Политика безопасности. Не обсуждается. Правила устанавливает начальник ИТ-отдела, руководство ему не указ, потому что ничего в этом не понимает, для того начальника и наняли.

Но я не вижу в этом ничего дурного. В большой организации, мне кажется, это нормально, чем эникеить потом за криворукими пользователями и вирусы гонять.
...
Рейтинг: 0 / 0
06.09.2012, 21:45
    #37947402
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
Shocker.ProВ большой организации, мне кажется, это нормально, чем эникеить потом за криворукими пользователями и вирусы гонять.Не факт...
Я тоже бывал "начальником отдела ИТ" при "некомпетентном в вопросах руководстве". И специалистом по комп.безопасности, по непрофильному образованию...
Тем не менее, раздача админских прав на собственные машины - в своё время стала наиболее приемлемым решением. Вместо месяцев головной боли по состыковке клиентских приложений с операционками.
А что касается Политики безопасности - так проще скомпрометированную машину начисто поднять с "исходного для станций" бэкапа за 15 минут + выписать докладную на лишение 100% премии работнику. После пятого-шестого примера - отбивает начисто любые желания у работников к любым левым шагам...
Судя по всему, отделу ИТ, вернее, его начальнику - либо нечем заняться, либо, наоборот, есть чем собственным заняться - поэтому и решается всё и сразу привычными ограничениями.
...
Рейтинг: 0 / 0
07.09.2012, 09:01
    #37947703
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Борьба с ограничением пользовательских прав в домене.
AndreTMтак проще скомпрометированную машину начисто поднять с "исходного для станций" бэкапа за 15 минут + выписать докладную на лишение 100% премии работнику.и сколько машин было в сети?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Борьба с ограничением пользовательских прав в домене. / 25 сообщений из 40, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]