고유한 로그인 자격 증명을 사용하여 원격 서버 목록의 시스템 정보를 얻기 위한 배치 파일

고유한 로그인 자격 증명을 사용하여 원격 서버 목록의 시스템 정보를 얻기 위한 배치 파일

저는 스크립팅에 익숙하지 않습니다. 서버 가동 시간을 확인하여 예상할 때 실제로 재부팅되었는지 확인해야 하는 작업이 있습니다.

input.txtGoogle 검색을 통해 모든 서버 이름과 output.txt결과가 포함된 파일 에 대한 아이디어를 찾았습니다 .

문제는 각 서버마다 고유한 일반 로그인이 있다는 것입니다. 예를 들어 로그인 이름은 이고 domain\server1비밀번호는 입니다 server1domain. 내 입력 파일은 다음과 같습니다

domain\server1, server1domain
domain\server2, server2domain
domain\sevrer3, server3domain

나는 을(를) 사용하고 싶습니다 serverinfo /s | find "uptime" >>c:\output.txt. 그리고 output.txt나는 다음과 같은 사람이 되고 싶습니다:

domain\server1      uptime   <uptime of server>
domain\server2      uptime   <uptime of server>
domain\server3      uptime   <uptime of server>

파일 끝까지 계속됩니다 input.txt.

누군가가 매우 기본적인 배치 파일을 만들 수 있습니까?

답변1

몇 가지 사항을 변경했는데 도움이 되기를 바랍니다. 현재 내가 가지고 있는 것은 내 환경에 따라 수정하려고 시도한 배치 파일입니다.

내 서버 이름 목록이 포함된 input.txt가 있는데, 여기서 이 루프는 서버 이름을 한 줄씩 선택합니다. 동시에 스크립트 내에서 고유한 로그인 자격 증명을 가지려고 노력하고 있습니다. 이렇게 하면 해당 로그인 자격 증명을 수동으로 입력할 필요가 없습니다. 여기 내 스크립트가 있습니다. 내가 직면한 문제는 systeminfo.exe가 실행될 때 로그인 자격 증명이 값으로 전달되지 않는다는 것입니다.

for /f "delims=" %%a in (c:\Uptime\Input.txt) do (  
    echo %%a  
    set x=yellow  
    set login=%x%%%a  
    set pwd=%%a%x%  
    echo %login% pwd %pwd%  
    systeminfo /s %%a /u %login% /p %pwd% | find "System Up Time" >> c:\Uptime\A.txt  
    pause  
)  

이 배치 파일을 실행하면 다음과 같은 결과가 나타납니다.

C:\Uptime>(  
echo Server1  
 set x=yellow  
 set login=Server1 <- it should be: yellowServer1  
 set pwd=Server1  <- it should be: Server1yellow  
 echo  pwd <- not showing the values of variables from above, should be: yellowServer1 Server1yellow  
 systeminfo /s Server1 /u  /p    | find "System Up Time"  1>>c:\Uptime\A.txt  
 pause  
)  
Server1  
 pwd  
ERROR: Invalid Syntax. Value expected for '/u'.  
Type "SYSTEMINFO /?" for usage.  
Press any key to continue . . .  

systeminfo cmd 행의 변수에서 값을 가져오지 않는 이유가 무엇인지 잘 모르겠습니다.

답변2

이것은 아마도 당신에게는 너무 늦었을 것입니다. 그러나 제가 최근에 그랬던 것처럼 비슷한 것을 찾는 다른 사람들에게는 유용할 것입니다...

명령줄에 올바른 정보를 지정하지 않았습니다. 또한 이 systeminfo명령에는 가동 시간이 아닌 부팅 시간만 있습니다. 그러면 빈 파일이 생성됩니다.

systeminfo /s Server1 /u %login%  /p %pwd%   | find "System Boot Time"  >> c:\Uptime\A.txt

cutfrom을 사용하여 unixutils파일을 더 정리할 수 있습니다 .

관련 정보