많은 Unix 스크립팅을 수행하고 Windows 스크립팅을 거의 수행하지 않는 Unix 및 Windows 관리자 는 Windows 스크립팅 유틸리티 및 API의 놀라운 어색함과 어려움 (비 명확하지 않을 수도 있음)에 기인한다고 말하고 싶습니다. Windows 컴퓨터에서 원격으로 실행하는 것이 더 좋습니다.
내 말은, WTF는 이거 야?
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
문제의 일부 는 API 가 있다는 것 입니다 . Unix에서는 관리자가 이미 사용중인 명령 줄 유틸리티의 자동화를 주로 스크립팅하고 있습니다. Windows에서는 모든 수준에 익숙하지 않은이 API를 사용해야합니다. 예를 들어 "가장"이라는 것은 무엇을 의미합니까? 이것은 sudo와 su를 사용하고 setuid 스크립트에 이미 익숙한 Unix 관리자에게는 사소한 개념입니다. 그러나 Windows 관리자는이 중 어느 것에도 익숙하지 않을 것입니다. "runas"(또는 동등한 GUI 옵션)에 대해 알고있을 수도 있지만, admin-y를 수행해야 할 때 관리자로 로그인 할 가능성이 훨씬 높습니다.
그리고 Windows의 스크립팅에 대한 문서는 비참합니다. 우선, 그것은 스크립트보다 훨씬 "통역 된 언어"입니다. 다시 말하지만, 익숙하지 않은 명령을 사용하지 않고 (익숙하지 않은) API를 사용하고 있기 때문입니다. 그러나 나는 내가 원하는 방향으로 이미 무언가를하고있는 사람을 찾아서 올바른 방향으로 나를 지시하여 이끌어지지 않은 Microsoft의 문서에서 유용한 것을 찾은 적이 없다고 생각합니다. 할 수있는 일의 목록이없는 것 같습니다. 가장 기본적인 작업을 수행하려면 이미 Windows 내부에 익숙해야합니다.
유닉스 스크립트는 종종 라인 노이즈처럼 보이지 않습니다. 그러나 유닉스 관리자는 자신이 이미 알고있는 간단한 명령 만 실행하는 스크립트로 시작할 수 있습니다. ( "항상이 세 명령을 연속해서 실행해야합니다. 파일에 함께 넣으면 한 명령으로 수행 할 수 있습니다!") 그리고 나중에 상황에 익숙해지면서 진행할 수 있습니다. 반대로 관리자가 "관리자로 서버에 로그인하고 시작 → 설정 → 제어판을 클릭하고 시스템을 두 번 클릭하고 컴퓨터 이름 탭을 클릭하십시오"등을 스크립트 할 수있는 방법이 없습니다. 예, 그가하려고하는 것은 어딘가에 API를 통해 제공 될 것이지만 점진적으로 그것을 찾을 수있는 방법은 없습니다.
따라서 "Windows 관리자가 더 많은 스크립팅을 수행 할 수있게하려면 어떻게해야합니까?"라는 질문에 대답하려면 스크립팅을 덜 외계인으로 만들어야합니다. 어떻게해야할지 모르겠습니다.
솔직히 대답은 Microsoft의 손에 달려 있습니다. GUI를 통해 수행되는 모든 작업을 수행 할 수있는 명령 줄 유틸리티를 보유 할 이유가 없습니다. (실제로는 많은 것들이 있지만 광고되지 않고 문서화가 잘되어 있지 않으며 일관성이 없습니다.) 또한 GUI에 어떤 힌트가 없었는지에 대한 이유도 없습니다. 그 버튼은 실제로 않습니다. 수정중인 API 객체를 보여주는 툴팁이 있습니다. 또는 도움말 창에 문서화하십시오.
내부 사용자로부터 사용자를 보호하는 데 아무런 문제가 없지만 Windows는 내부 사용자를 찾으려고하는 사람들조차도 내부를 적극적으로 숨기는 길을 벗어난 것처럼 보입니다.
ls -1 *old* | awk '{print "mv "$1" "$1}' | sed s/old/new/2 | sh