none
如何分发一个文件到xpsp3的c:\windows目录 RRS feed

  • 问题

  • win7已经通过域策略: user configuration---preferences---files---create a file with thesource and destination 搞定了,xp试了启动脚本和登陆脚本都不行.

    有没有其他办法?

    实在不行的话谁有简单点儿的msi打包工具啊?其实我就只分发一个3M的小文件.

    多谢.


    adsnow

    2013年5月27日 12:38

答案

  • @ECHO OFF 

    if exist %windir%\aa.cc goto end
    copy %LOGONSERVER%\NETLOGON\aa.cc %windir%
    :end
    exit

    也不行


    adsnow

    不行的原因是什么?给你的脚本加个输出应该就能看到。

    我觉得,不是%LOGINSERVER%变量无值,就是共享访问被Access Deny了。你能否通过脚本输出确认一下是否如此?

    如果是前者,先尝试换用静态值可否?

    如果是后者,那么,你允许了那些Domain Member Computer Account 访问 "%LOGONSERVER%\NETLOGON\aa.cc" 了吗?

    • 已编辑 Finy 2013年5月28日 8:49
    • 已标记为答案 adsnow 2013年6月3日 11:17
    2013年5月28日 8:48

全部回复

  • 你的这个3M小文件源在哪?是在域内一台服务器共享里吗?

    如果是,为什么你说开机脚本或登录脚本不行?遇到了什么问题?

    2013年5月28日 3:36
  • 估计是分发到xpsp3的c:\windows目录无权限.

    adsnow

    2013年5月28日 5:50
  • 估计是分发到xpsp3的c:\windows目录无权限.

    adsnow

    那用开机脚本呢?

    2013年5月28日 5:58
  • @ECHO OFF 

    if exist %windir%\aa.cc goto end
    copy \\10.113.1.10\NETLOGON\aa.cc %windir%
    :end
    exit

    试了,不行。


    adsnow

    2013年5月28日 7:57
  • @ECHO OFF 

    if exist %windir%\aa.cc goto end
    copy %LOGONSERVER%\NETLOGON\aa.cc %windir%
    :end
    exit

    也不行


    adsnow

    2013年5月28日 7:59
  • @ECHO OFF 

    if exist %windir%\aa.cc goto end
    copy %LOGONSERVER%\NETLOGON\aa.cc %windir%
    :end
    exit

    也不行


    adsnow

    不行的原因是什么?给你的脚本加个输出应该就能看到。

    我觉得,不是%LOGINSERVER%变量无值,就是共享访问被Access Deny了。你能否通过脚本输出确认一下是否如此?

    如果是前者,先尝试换用静态值可否?

    如果是后者,那么,你允许了那些Domain Member Computer Account 访问 "%LOGONSERVER%\NETLOGON\aa.cc" 了吗?

    • 已编辑 Finy 2013年5月28日 8:49
    • 已标记为答案 adsnow 2013年6月3日 11:17
    2013年5月28日 8:48
  • finy 好,

    多谢帮忙.

    按你的提示,修改脚本如下:

    -----------------------------------------------------------

    echo  %windir% >>c:\test\aa.log

    if exist %windir%\aa.cc goto end

    ping 10.113.1.10 >>c:\test\aa.log
    copy \\10.113.1.10\NETLOGON\aa.cc %windir%
    exit
    :end
    echo  "yes" >>c:\test\aa.log
    exit

    ------------------------

    返回信息如下:

    c:\windows

    ping 10.113.1.10 with32 bytes of data:

    reply from 10.113.1.10: bytes=32 time<1ms ttl=128

    reply from 10.113.1.10: bytes=32 time<1ms ttl=128

    reply from 10.113.1.10: bytes=32 time<1ms ttl=128

    .....

    ----------------------------------------------

    关于:你允许了那些Domain Member Computer Account 访问 "%LOGONSERVER%\NETLOGON\aa.cc" 了吗?

    我添加了Domain Computers组的读取和列出 权限到 NETLOGON文件夹.

    仍然不行,估计xp本地的权限的问题.


    adsnow

    2013年5月29日 9:50
  • 你的那句Copy没加输出。。。。

    另外,你加的输出都仅输出了StdOut 1,而没输出StdErr 2

    应该这么写:

    copy \\10.113.1.10\NETLOGON\aa.cc %windir% >> c:\test\aa.log 2>&1

    这样输出才有意义

    2013年5月30日 5:31
  • 多谢 Finy,

    改后的文件如下:

    echo  %windir% >>c:\test\aa.log

    if exist %windir%\aa.cc goto end
    if exist \\10.113.1.188\screensaver\aa.cc goto source c:\test\aa0.log 2>&1
    ping 10.113.1.188 >>c:\test\aa.log
    copy \\10.113.1.188\screensaver\aa.cc %windir% >> c:\test\aa.log 2>&1
    copy c:\test\aa1.log c:\test\aaa\ >> c:\test\aa0.log 2>&1
    exit
    exit

    :source
    echo  "source yes" >>c:\test\aa.log
    exit
    :end
    echo  "yes" >>c:\test\aa.log
    exit

    输出的错误为"拒绝访问".

    根据复制本地文件的命令 copy c:\test\aa1.log c:\test\aaa\ 成功的结果,感觉应该是没有共享文件夹的权限.

    但是共享文件夹screensaver已经在ntfs和共享权限上都已经添加了Domain Computers组的读权限.

    估计是xp本身的问题.


    adsnow

    2013年6月3日 10:23
  • 临时解决办法  是用户脚本复制文件,开机脚本复制到windows.


    adsnow

    2013年6月3日 11:18
  • 临时解决办法  是用户脚本复制文件,开机脚本复制到windows.


    adsnow


    挺有创意!

    Technical problem is never a problem.

    2013年6月4日 2:26