Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   [решено] IP-адрес на обоях, которые приезжают по ГП (http://forum.oszone.net/showthread.php?t=339077)

James Marsh 05-02-2019 21:33 2856421

IP-адрес на обоях, которые приезжают по ГП
 
Всем доброго времени суток.

Может кто заморачивался?
Есть обои, которые приезжают по групповым политикам (через политку, а не скриптом).
Надо вывести ip-адрес поверх обоев. BgInfo поверх таких обоев не рисует.
Кто-то на такие грабли наступал? Best Practice мож быть?

Заранее спасибо.

Iska 05-02-2019 22:02 2856432

James Marsh, а как именно они у Вас «приезжают по групповым политикам»?

Vadikan 06-02-2019 01:12 2856460

James Marsh, есть такой вариант


https://t.me/sterkin_ru/706 | https://vk.com/wall-81672804_6227

P.S. Сорри, это не IP, но ладно, не буду удалять - вдруг кому пригодится :)

James Marsh 06-02-2019 20:39 2856584

Цитата Iska:
а как именно они у Вас «приезжают по групповым политикам»? »
Цитата James Marsh:
через политку »







Цитата Vadikan:
есть такой вариант »
Ну Вы правы - костыль еще тот. =))

Iska 06-02-2019 21:10 2856588

James Marsh, спасибо, ясно. Полагаю, дело тут не в том, что BGInfo якобы не умеет рисовать поверх таких обоев. Полагаю, оно рисует. Полагаю, что и назначает. Но сие не может перекрыть настройки, заданные групповой политикой.

А вариант с треем:
Код:

Bginfo.exe /taskbar /nolicprompt /silent
Вас не устроит?

James Marsh 06-02-2019 21:54 2856595

Цитата:

Цитата Iska
Вас не устроит? »

А так можно? Я честно говоря никогда в дебри bginfo не лазил. Ща скрипт подмхну, а завтра гляну шо оно и где там вылезет.

Iska 06-02-2019 22:03 2856597

Цитата:

Цитата James Marsh
А так можно? »

Ну, значок BGInfo будет «висеть» в трее, по щелчку открывать заполненное окошко на основе умолчальной конфигурации (дополнительно параметром можно указать, какой файл конфигурации использовать). Можно вообще в базу данных зараз собирать данные посредством BGInfo со всех потребных машин.

Вам IP-адрес ведь нужен, полагаю, для того, чтобы пользовать его в стиле «позвонили-посмотрели-назвали свой IP»?

James Marsh 06-02-2019 22:03 2856598

Ёперный театр... оно висит в трее, а щелкнешь мышкой - вылазиет... Надо будет коллективом обдумать.

Та просто у нас была/есть самописная конструкция из cmd- и vbs-скриптов с файлами обоев, которые меряли разрешение экрана и ставили обоями файлик нужного размера. И потом поверх на обоях bginfo айпишник рисовало. А начиная с вин 10 1803 защитник скрипт считает вирусом и удаляет. И получается, что на стандартных обоях 10ки красовались заветные циферки. А тут нас взяли за зябры, мол чего обои не по фен-шую? Ну нарисовал я политику и теперь пытаюсь костыль придумать.

Цитата:

Цитата Iska
Вам IP-адрес ведь нужен, полагаю, для того, чтобы пользовать его в стиле «позвонили-посмотрели-назвали свой IP»? »

Да, только за 5 лет народ привык где его смотреть. :(

Iska 06-02-2019 22:34 2856606

Цитата:

Цитата James Marsh
А начиная с вин 10 1803 защитник скрипт считает вирусом и удаляет. »

А какой код?

Busla 06-02-2019 22:42 2856609

James Marsh, а если не через встроенный GPO (там разве не написано, что применимо только к 2k3 и XP), а создать свою, которая завязана только на соответствующий ключ реестра

я согласен с Iska - встроенная политика не просто "засылает" новые обои, а и запрещает их менять

mwz 07-02-2019 00:38 2856625

Цитата:

Цитата James Marsh
А начиная с вин 10 1803 защитник скрипт считает вирусом и удаляет »

А добавить его Защитнику в непроверяемые?

James Marsh 08-02-2019 21:17 2856911

Цитата:

Цитата Iska
А какой код? »

cmd-конструкция
Код:

@echo off
setlocal enableextensions enabledelayedexpansion
mshta "javascript: var o = new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1); o.Write(screen.width); o.Write('_' + screen.height); close()" 1 >> z:\scr_resolution.txt
CScript \\10.17.11.21\scripts\wallpaper_srv.vbs //NoLogo
\\10.17.11.21\scripts\bginfo\bginfo.exe \\10.17.11.21\scripts\bginfo\init.bgi /timer:0 /SILENT /NOLICPROMPT
del z:\scr_resolution.txt
endlocal
exit /b 0

wallpaper_srv.vbs
Код:

Dim fso, ts, scrres
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("z:\scr_resolution.txt", 1)
  scrres = ts.ReadLine
        filename = "\\10.17.11.21\scripts\wlp\" & scrres & ".bmp"
        'msgbox (filename)



Set wshShell = WScript.CreateObject("WScript.Shell")
 
        Set oShell = CreateObject("WScript.Shell")

        Set oFSO = CreateObject("Scripting.FileSystemObject")
 
        sWinDir = oFSO.GetSpecialFolder(0)

        If oFSO.FileExists(filename) Then

                oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", filename
                oShell.RegWrite "HKCU\Control Panel\Desktop\TileWallpaper", 0
                oShell.RegWrite "HKCU\Control Panel\Desktop\WallpaperStyle", 2
 
                oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True
        Else
                msgbox ("Скажите системному администратору обои рабочего стола для разрешения экрана " & scrres & " отсутствует!")
        End If

А защитник ругается на mshta

Хотя, положа руку на сердце, скажу что данный велосипед устарел. Писался он когда был зоопарк мониторов и ноутбуков различного разрешения:



И так как сейчас 95% экранов фуллхд, то здается мне, что можно этот вЭлосЫпЭд как-то переписать, что бы убрать кусок определяющий, и считывающий разрешение экрана.

Вот кстати, как ругается



Busla 08-02-2019 22:05 2856920

James Marsh, а чем
Код:

wmic DESKTOPMONITOR GET ScreenHeight
не устроил?

mwz 08-02-2019 22:22 2856923

Цитата:

Цитата James Marsh
А защитник ругается на mshta »

Так как насчёт добавления его в исключения?
Как раз сегодня, даже для использования GPO годится: http://forum.oszone.net/thread-339118.html

James Marsh 08-02-2019 22:34 2856925

Цитата:

Цитата Busla
wmic DESKTOPMONITOR GET ScreenHeight
не устроил? »

А я про него в первый раз слышу. Поцацкаемся...

Тьфу, блин. А шо я мучаюсь? Экраны то все фуллхд... накой мне проверка разрешения? Я же могу в вбс-скрипте прямо файл обоев прописать и морочить себе голову.

Iska 09-02-2019 02:03 2856944

James Marsh, нет никакой нужды в mshta.exe:
Код:

Option Explicit

' Раз:
With WScript.CreateObject("htmlfile")
        .open
        .close
       
        With .parentWindow.screen
                WScript.Echo .width & "x" & .height
        End With
End With

' Два (вариант коллеги Busla):
Dim objSWbemObjectEx

For Each objSWbemObjectEx In WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2").ExecQuery("SELECT * FROM Win32_DesktopMonitor")
        With objSWbemObjectEx
                WScript.Echo .ScreenWidth & "x" & .ScreenHeight
        End With
Next

WScript.Quit 0

Цитата:

Цитата James Marsh
wallpaper_srv.vbs »

Примерно так:
Код:

Option Explicit

Const strRegistryPath    = "HKCU\Control Panel\Desktop"
Const strPath2Wallpapers = "\\10.17.11.21\scripts\wlp"

Dim strWallpaperFile


With WScript.CreateObject("htmlfile")
        .open
        .close
       
        With .parentWindow.screen
                strWallpaperFile = strPath2Wallpapers & "\" & CStr(.width) & "x" & CStr(.height) & ".bmp"
        End With
End With

If Not WScript.CreateObject("Scripting.FileSystemObject").FileExists(strPath2Wallpapers) Then
        With WScript.CreateObject("WScript.Shell")
                .RegWrite strRegistryPath & "\Wallpaper",      strWallpaperFile
                .RegWrite strRegistryPath & "\TileWallpaper",  0
                .RegWrite strRegistryPath & "\WallpaperStyle", 2
               
                .Run """rundll32.exe"" user32.dll,UpdatePerUserSystemParameters", 0, True
        End With
Else
        WScript.Echo "Can't find valid wallpaper's file [" & strWallpaperFile & "]."
        WScript.Quit 1
End If

WScript.Quit 0

А ежели ещё предварительно подготовить где-нибудь там же, в strPath2Wallpapers, одиннадцать графических файлов, десять с цифирью и один с точкой, то можно будет тем же скриптом посредством библиотеки WIA 2.0 самостоятельно лепить IP-адрес поверх обоев, без участия BGInfo (можно, конечно, и прямо рисовать на векторе картинки поточечно, но уж больно много возни выйдет).

James Marsh 09-02-2019 16:52 2857013

Спасибо, по свободе на буднях попробую ваши конструкции. Отпишусь по результату.

James Marsh 11-02-2019 21:23 2857379

В обчем, так как парк экранов на 99% - фуллхд, то я просто урезал vbs
Код:

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Set wshShell = WScript.CreateObject("WScript.Shell")
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sWinDir = oFSO.GetSpecialFolder(0)
filename = "\\10.19.11.21\_scripts\wlp\1920_1080.bmp"
oShell.RegWrite "HKCU\Control Panel\Desktop\Wallpaper", filename
                oShell.RegWrite "HKCU\Control Panel\Desktop\TileWallpaper", 0
                oShell.RegWrite "HKCU\Control Panel\Desktop\WallpaperStyle", 2
 
oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True

и запихнул его в логон-скрипт групповой политикой. Ну и рядом cmd для bginfo.

Код:

\\10.19.11.21\scripts\bginfo\bginfo.exe \\10.19.11.21\scripts\bginfo\init.bgi /timer:0 /SILENT /NOLICPROMPT


В опчем с пивом покатит. Все равно это не самая глобальная проблема, которая на повестке дня. Фсем спасибо.


Время: 21:42.

Время: 21:42.
© OSzone.net 2001-