在调度程序上设置 RAID 阵列或批量复制命令更好吗?我的需求很简单——每晚将我家庭网络上的重要文件(一些源代码、财务数据等)备份到一个单独的硬盘上。我的服务器操作系统是 Windows Server 2008。
我需要每 4 小时从文件夹中删除一次文件。否则存储文件夹将被文件填满,生产服务器将挂起。
今天,我正在部署 20 台全新的戴尔工作站。这些都将在当地图书馆供公众使用,并将取代 20 个旧工作站,这些工作站将在今天由我一个人搬到图书馆的另一个分馆。
部署后,我为所有 40 台机器创建了一个新映像。映像完成后,我需要立即将每台机器的名称更改为将在部署前不久确定的名称。
是否有一个脚本可以用于批处理文件或 wmi,它可以从桌面运行并提示我为机器输入新名称和工作组?这是更改 40 台机器的名称和工作组的最简单方法吗?无论如何,我必须访问每个桌面才能配置 Windows SteadyState 磁盘保护。
我对 WMI 和批处理文件并不陌生,我通常不会寻求帮助来编写一个文件,但是已经很晚了,我的时间不多了,无法想出任何足够的东西。
任何其他信息也将不胜感激。我已经这样做了多年,但总能得到一些帮助。提前致谢。
如何从批处理文件更改此设置?对于任何给定的用户,我怎样才能让他们只能登录名为 abc 的计算机?vbs 或 powershell 脚本将是我的第二选择。

是否可以以管理员身份运行批处理脚本?我们需要在没有任何用户交互的情况下完成此操作,因此不能有任何密码提示或 UAC 弹出窗口 - 这可能吗?
我有一个简单的脚本来加入 AD 域并重命名计算机。当我直接在 CLI 上执行这些命令时,它工作正常。
当我通过批处理文件执行相同的操作时,出现错误提示
找不到网络路径
我以具有完全权限的管理员身份运行。我在微软论坛上用谷歌搜索过,但我的情况是独一无二的,因为它是从 CLI 而不是从批处理文件中工作的
netdom join %%computername%% /domain:OPSCODEDEMO.COM /userd:Administrator /passwordd:xxx
netdom renamecomputer %%computername%% /NewName:%hostname% /Force
Run Code Online (Sandbox Code Playgroud)
环境是运行在Ninefold Cloud (Xenserver) 上的Windows 2k8 R2 SP1。
我需要做的是在现有的批处理文件中添加几行,以便它根据机器名称执行不同的操作。
我们有一个标准化的命名方案,其中机器名称的前三个字母表示机器类型和位置。对于其中三个机器前缀,我想运行一个命令,其余的我不想。
到目前为止,我所得到的是,这样的命令将查找机器名称中的字符,并根据它是否匹配返回名称或不返回任何内容:
echo %COMPUTERNAME% | FIND /I "UKD"
Run Code Online (Sandbox Code Playgroud)
使用这样的循环会做同样的事情,但对于多个名称:
FOR %%A IN (UKD UKL USD) DO echo %COMPUTERNAME% | FIND /C /I "%%A"
Run Code Online (Sandbox Code Playgroud)
我还没有弄清楚如何在IF语句或类似的东西中使用它们中的任何一个的输出。谁能帮我吗?
我希望能够将现有的 Internet Explorer 书签自动传输到 Google Chrome。
我们正在向多个用户推出 Chrome,但我们希望他们能够自动从 IE 获得他们的旧书签。
我应该怎么做?
谢谢你的帮助!
我有一些软件,要求在某个程序开始之前将 Windows 系统时间与物理原子钟* 同步。
timedate.cpl现在,用户在开始之前会收到修改时间的说明。
我想显示一个小时和分钟输入框,并允许用户在时间匹配时单击按钮,就像开始倒计时一样。这使得他们在点击我的按钮后可以更轻松地提取时间。为了实现这一点,我想运行这样的系统命令:
runas /noprofile /user:Administrator "time 12:34"
Run Code Online (Sandbox Code Playgroud)
但是,当我测试它时,它会要求我输入密码。
我想知道是否有某种方法可以让我的程序有权设置时间而不需要每次都输入密码?
笔记:
* 原子钟是合适的,因为时间在很长一段时间内不会漂移太多。精度不是一个因素。到目前为止,操作员实际上在开始步骤之前将时间写在一张纸上。
预期输入:开始=1,结束=500,间隔=100
预期输出:
1, 100
101, 200
201, 300
301, 400
401、500
@echo off
set start=1
set end=500
set interval=100
for /L %%g in (%start%, %interval%, %end%) do (
set first=%%g
set /a last=%first% -1 + %interval%
echo %first% , %last%
)
Run Code Online (Sandbox Code Playgroud)
实际输出:
401, 401 -1 + 100
401, 401 -1 + 100
401, 401 -1 + 100
401, 401 -1 + 100
401, 401 -1 + 100
不知道为什么 first 被分配了 401 值,感谢任何帮助