AD脚本kixtart运用之四(用户桌面背景)-创新互联

在http://windyma.blog.51cto.com/661702/1967027 文章,已做好用户脚本基础上进行设置

10年积累的网站建设、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有宁城免费网站建设让你可以放心的选择与我们合作。

首先设置用户背景桌面是微软件的Bginfo工具,而kixtart只是用来获取用户屏幕的分辨率,根据不同屏幕的分辨率再来调用Bginfo工具来设置不同分辨率的背景图片,以此保证图片不会变形。

第一,在域\\nccn.int\NETLOGON 共享下新建Bginfo目录,把Bginfo.exe工具及不同分辨率的背景图全复制到Bginfo目录下。

第二,用Bginfo.exe工具设置上桌面上需要显示内容(如我的,右上角是电话拨打简单说明,右下角是计算机相关信息及IT的联系电话),点Backgroud,在use these setting:下选择不同的分辨率的背景图文件,确认后。保存在\\nccn.int\NETLOGON\Bginfo下,名为1280-1024.bgi文件(假如这个背景图文件的分辨率为1280x1024),其它分辨率背景一样操作

AD 脚本kixtart运用之四(用户桌面背景)

第三,准备后,在\\nccn.int\NETLOGON\下新建脚本文件Function.kix用于定义一个获取用户屏幕的分辨率的funciton,以便于kixtart.kix调用,如下内容:

;此function来自kixtart官方的案例,根据自行需要作了一些更改

Function GetScreenRes()
  Dim $Dev,$Idx,$RKey,$ScreenXRes,$ScreenYRes,$SType
  $GetScreenRes = ''
  If @InWin = 1 
    If Split(@ProductType)[1] <> "NT"
      $Dev = Split('' + WMIQuery("VideoModeDescription","Win32_VideoController"))
      If UBound($Dev) > 1
        $GetScreenRes = $Dev[0] + "-" + $Dev[2]
      EndIf
    Else
      $RKey="HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services"
      $Dev = "\Device0"
      If KeyExist($RKey)
        $Idx = 0
        Do
          $SType = EnumKey($RKey,$Idx)
          If @Error = 0 And $SType <> "VgaSave"
              $ScreenXRes = '' + ReadValue($RKey + "\" + $SType + $Dev,"DefaultSettings.XResolution")
              $ScreenYRes = '' + ReadValue($RKey + "\" + $SType + $Dev,"DefaultSettings.YResolution")
          Else
            $Idx = $Idx + 1
          EndIf
        Until @Error Or $ScreenXRes
        If $ScreenXRes
          $GetScreenRes = $ScreenXRes + '-' + $ScreenYRes
        EndIf
      EndIf
    EndIf
  Else
    $RKey="HKLM\Config\0001\Display\Settings"
    If KeyExist($RKey)
      $GetScreenRes = ReadValue($RKey,"Resolution")
    EndIf
  EndIf
EndFunction
FUNCTION WMIQuery($what,$where, optional $computer)
  dim $strQuery, $objEnumerator, $value
  if not $computer  $computer="@WKSTA"  endif
  $strQuery = "Select $what From $where"
  $SystemSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//$computer")
  $objEnumerator = $SystemSet.ExecQuery($strQuery)
  For Each $objInstance in $objEnumerator
    If @Error = 0 and $objInstance <> ""
      $=execute("$$value = $$objInstance.$what")
      $WMIQuery="$value"+""+"$WMIQuery"
      EndIf
    Next
  $WMIQuery=left($WMIQuery,len($WMIQuery)-1)
  exit @error
ENDFUNCTION

第四,定义好function后,我们在kixtart.kix中添加如下内容:

;首先调用自定义的Function.kix

CALL "%logonserver%\NETLOGON\Function.kix"
;取得用户屏幕的分辨率并赋给变量$ScreenRes
$ScreenRes = GetScreenRes()
;调用bginfo.exe工具
IF EXIST("%logonserver%\netlogon\Bginfo\$ScreenRes.bgi")
RUN "%logonserver%\netlogon\Bginfo\bginfo.exe /nolicprompt %logonserver%\netlogon\Bginfo\$ScreenRes.bgi /timer:00"
ELSE
RUN "%logonserver%\netlogon\Bginfo\bginfo.exe /nolicprompt %logonserver%\netlogon\Bginfo\wallpaper.bgi /timer:00"
ENDIF

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:AD脚本kixtart运用之四(用户桌面背景)-创新互联
URL分享:http://ybzwz.com/article/dgsooh.html