地图网络驱动器批处理脚本和非域用户的问题

时间:2016-09-23 13:23:52

标签: batch-file

我使用以下批处理脚本为所有登录Windows 7计算机的域用户自动映射网络共享。

#!/usr/bin/python
# -*- coding: utf-8 -*-
from gi.repository import Gtk

class ourwindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="My Hello World Program")
        Gtk.Window.set_default_size(self, 400,325)
        Gtk.Window.set_position(self, Gtk.WindowPosition.CENTER)
        button1 = Gtk.Button("Hello, World!")
        button1.connect("clicked", self.whenbutton1_clicked)
        self.add(button1)

    def whenbutton1_clicked(self, button):
        print "Hello, World!"

window = ourwindow()        
window.connect("delete-event", Gtk.main_quit)
window.show_all()
Gtk.main()

我已将其放入@echo off net use s: "\\domain.com\path\to\share" 文件夹,以便在登录时为所有用户运行。 如果有更好的方法,请告诉我。

这适用于域用户,但要求本地用户输入用户名和密码。

我想让我的脚本更优雅一点。如果本地用户登录,我希望脚本退出/关闭。我不得不编写执行某些检查的代码。我只是不知道如何。

(已编辑):不幸的是,IT部门禁用了注册表编辑功能。我也无权访问活动目录和组策略系统。

2 个答案:

答案 0 :(得分:1)

首先,是的,还有更好的方法。对于所有用户,请在以下位置创建注册表项:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

仅对当前用户,在以下位置创建注册表项:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

如果使用域名,您还可以将脚本放在netlogon共享中。

您可以检查%USERDNSDOMAIN%变量是否包含您的域。 这是一个完整的组检查登录脚本,您可以从以下开始:

https://github.com/deajan/windows_scripts/tree/master/bin/LogonAD

祝你好运。

答案 1 :(得分:0)

你可以给"用户名"提示(一个不存在的用户名)并将STDOUT和STDERR的输出重定向到NUL。对于域成员,此答案将被忽略(因为毫无疑问)。

gzip