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

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

首先设置用户背景桌面是微软件的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),其它分辨率背景一样操作

第三,准备后,在\\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 = 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

时间: 2024-08-04 08:05:02

AD 脚本kixtart运用之四(用户桌面背景)的相关文章

AD 脚本kixtart运用之五(用户电脑屏保设置)

原理和设置基前一编http://windyma.blog.51cto.com/661702/1967071一样 只需要在kixtart.kix中添加如下内容 ------------------------------ IF EXIST ("%userprofile%\$ScreenRes.scr") WriteValue("HKEY_CURRENT_USER\Control Panel\Desktop", "SCRNSAVE.EXE", &qu

AD 脚本kixtart运用之三(添加windows共享打印机)

在http://windyma.blog.51cto.com/661702/1967027文章,已做好用户脚本基础上 在脚本文件kixtart.kix里添加如下内容: --------------------------------------- IF INGROUP ("Color_Printer") If AddPrinterConnection ("\\zsprinter.nccn.int\NEO-Color-Printer") = 0 ? "Add

AD 脚本kixtart运用之一 ( 网络盘自动映射)

首先我们在Active Directory 用户和计算机工具中,在用户的配置文件下的登陆脚本里输入如下 然后我们在域共享\\nccn.int\NETLOGON\ 下新建一个NEO.bat的文件内容如下 -------------------------------------------- @echo off cmd /c %logonserver%\netlogon\KIX32.EXE %logonserver%\netlogon\kixtart.kix exit --------------

AD 脚本kixtart运用之六(outlook邮件批量生成签名)

基于上一编文章http://windyma.blog.51cto.com/661702/1967071里的设置 我们在Function.kix添加如下内容(备注:此outlook签名function来自网上,经过我比较大的修改): ---------------- Function GenerateOutlookSig($SignatureFileName) $EmailAccountName = @WUSERID ;----获取outlook配置profile名字(如果有多个profile名字

.NET生成漂亮桌面背景

.NET生成漂亮桌面背景 一天,我朋友指着某某付费软件对我说,这个东西不错,每天生成一张桌面背景,还能学英语(放置名人名言和翻译)!我说,这东西搞不好我也能做,然后朋友说,"如果你搞出来了,我愿意给你付费$$$$元",然后就有了今天的故事??. 该桌面背景效果如下: 该桌面背景有4个特点: 背景为一张从必应下载的壁纸 英文为随机的名人名言,从API获取 注意文件下文有阴影,使用Direct2D 英文被翻译成了中文,使用了Azure Cognitive Service 当然还有重要的,需

C#获取AD域中计算机和用户的信息

如果你的计算机加入了某个AD域,则可以获取该域中所有的计算机和用户的信息. 所用程序集,需要.Net Framework 4. 添加程序集引用 System.DirectoryServices.AccountManagement 获取AD域名称,未加入AD域的,只能获取计算机名称. 如果未加入任何域,则后续的获取域用户.计算机等操作将无法进行,实例化域上下文对象时,会抛出异常. 1 IPGlobalProperties ipGlobalProperties = IPGlobalPropertie

Windows7获取、更换桌面背景,C#

使用的API原型是 BOOL SystemParametersinfo(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinlni); 在C#中定义如下: 1 /// <summary> 2 /// 查询或设置系统级参数 3 /// </summary> 4 /// <param name="uAction"></param> 5 /// <param name="uPara

【AD】取消普通域用户帐号加域权限&授权特定普通域用户加域权限

通常来说,没有做什么特别的设定的话,都是手动加域,且使用的是管理员帐号,这种情况下是有风险的,容易被人记忆密码.所以,如果可以设置一个普通用户帐号,专门用来执行加域操作,就会降低此类风险.其实默认情况下,域每一个普通帐号都可以将10台电脑加入域内,这是一个很大的隐患.估计很多人都没有试过吧. 加域分两种,一种是将新电脑加入域内,一种是将已经加入过域的电脑,因为故障无法登录域或手动退域,原计算机帐号仍在的情况下加入域建立连接.第二种情况又分上次加域使用的帐号和当前加域使用的帐号是否相同且权限是否一

修改被公司固定的桌面背景

(1)打开注册表:开始—运行—regedit,然后找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies,这个下面有两个子目录expolrer和system,点开system可以看到右边wallpaper的数据里有一个路径,该路径就是你桌面的那个图片.然后,可以把system这个目录删掉.(2)桌面点右键,属性,就可以改自己喜欢的桌面背景了.