我正在尝试运行一个脚本以将自动遗传设置为服务器。我的问题是,该帐户是远程计算机的本地配置文件,并且有问题。
脚本:
@ECHO off
FOR /F %%i IN (IPs.txt) DO (
ECHO =====================
ECHO Starting for %%i
cmdkey /generic:"%%i" /user:"localuser" /pass:"password"
ECHO =====================
)
使用上述RDP未检测到本地均值本地...
ips.txt文件列出了服务器的所有IP地址。我唯一能想到的是拥有一个包含计算机名称的文本文件,但我只是不确定该如何处理。
示例: cmdkey/generic:" %% I"/user:" %% hostname user"/pass:" password"
对本地帐户使用周期(点(。这可能会导致您想要的。
cmdkey /generic:"%%i" /user:".user" /pass:"password"
或根据需要选择环境变量... %ComputerName%
,%USERDOMAIN%
,%USERDOMAIN_roamingprofile%
,%LOGONSERVER%
。
示例: cmdkey /generic:"%%i" /user:"%ComputerName%user" /pass:"password"
对于远程服务器本地的帐户,一个简单的不合格的用户名应该起作用...
cmdkey /generic:"%%i" /user:"user" /pass:"password"
除此之外,如果您需要基于IP地址解决远程服务器名称,我想您可以解析ping -a %%i
或nbtstat -A %%i
...或使用DNS使用nslookup
。
要将其中一个合并到批处理文件中,请尝试类似的内容...
@Echo Off
SETLOCAL EnableDelayedExpansion
FOR /F %%i IN (IPs.txt) DO (
ECHO =====================
Echo Resolving IP Address %%i...
set CurrentIP=%%i
Call :ResolveIpAddress
echo Resolved Name = !ipName!
Echo Creating Credentials
cmdkey /generic:"%%i" /user:"!ipName!user" /pass:"password"
ECHO =====================
)
pause
:ResolveIpAddress
For /F "tokens=2" %%a IN ('ping -n 1 -a %CurrentIP%') Do (set ipName=%%a && exit /b)