用于保存远程计算机本地帐户的 RDP 回复的批处理文件



我正在尝试运行一个脚本以将自动遗传设置为服务器。我的问题是,该帐户是远程计算机的本地配置文件,并且有问题。

脚本:

@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 %%inbtstat -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)

最新更新