Windows 관리자가 스크립팅을 받도록 권장하는 방법은 무엇입니까? [닫은] ADSI 에 대해 읽었고

첫 직장에서 관리자로 일할 때 Windows 서버를 사용한 관리 프로세스가 일련의 포인트 앤 클릭이라는 사실에 좌절했습니다. 많은 작업을 자동화하기 위해 쉘 스크립트 그룹이있는 Unix 서버와 효율성 수준을 비교할 수 없었습니다. 나는 곧 WSH와 ADSI 에 대해 읽었고 스크립팅으로 얼마나 많은 자동화를 달성 할 수 있었는지 배우는 데 시간을 낭비하지 않았습니다.

그래도 큰 문제가있었습니다. Windows 동료 중 거의 아무도 스크립팅 학습에 관심이 없었습니다. 그들은 수동으로 마우스 클릭하는 집안일에 만족하는 것처럼 보였고 스크립트를 사용하여 자신을 대신하여 작업 할 것이라는 기대에 결코 흥분하지 않았습니다. 나는 효율성의 명백한 증가에도 불구하고 스크립팅 기술을 익히도록 설득하기 위해 고심했다. 나는 그 후 풀 타임 소프트웨어 개발 경력을 추구하기 위해 그 일을 떠났다.

다양한 환경과 다양한 고객에서 일한지 거의 10 년이되었지만 여전히 스크립트를 최대한 피할 수있는 일반적인 “기분”을 가진 Windows 관리자를 만나고 있습니다. 접근성 수준이 높아짐에도 불구하고 스크립팅 및 자동화를 위해 Windows 서버 기술이 개방되고 있습니다. 나는 대다수의 관리자가 모든 종류의 프로그래밍 의무를 수행하는 것을 절대적으로 싫어 하기 때문에 정확하게 관리자라고 확신합니다 . 스크립팅 이 실제로 장기적으로 도움이 될 수 있도록 관리자를 격려하고 동기를 부여하는 몇 가지 방법은 무엇입니까 ?



답변

많은 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는 내부 사용자를 찾으려고하는 사람들조차도 내부를 적극적으로 숨기는 길을 벗어난 것처럼 보입니다.


답변

스크립트를 통해서만 수행 할 수있는 작업을 제공하십시오. 예를 들어, 한 번에 수백 개의 폴더 생성과 각 폴더에 대한 사용자 지정 권한을 스크립팅해야했으며 매일 업데이트해야했습니다. 만약 그들이 이것을 수동으로해야한다면 그것은 그들의 유일한 일일 것입니다. 구분 된 텍스트 파일의 출력을 기반으로 권한을 재설정하기 위해 CACLS를 사용하는 스크립트는 완성하는 데 하루가 걸렸습니다 (기본 스크립트는 약 1 시간 후에 완료 됨).

스크립팅으로 할 수있는 일을보기 시작하면 큰 승리가 될 수 있습니다.


답변

나는 한 번은 ‘프로그래밍’을 거부 한 sysadmin을 고용했다. 내가 그를 얻을 수있는 가장 좋은 방법은 기존 코드를 사용하고 변수 할당 또는 호스트 이름을 수정하는 것이 었습니다. 일을 끝내기 위해. 일부 사람들은 프로그래밍에 신경 쓰지 않으므로 장벽을 낮추어야합니다.

마이크로 소프트는 이에 착수하고있다. SQL Server에서는 한동안 Management Studio GUI에서 항목을 클릭 한 다음 방금 수행 한 t-sql 스크립트를 덤프 할 수있었습니다. 이것은 특히 프로그래밍이 좋지 않은 Windows sysadmin에 적합합니다.

System Center Virtual Machine Manager에는 powershell 스크립트를 덤프한다는 점을 제외하고는 동일한보기 스크립트 기능이 있습니다. 다른 많은 제품 라인에서도이 기능을 소개하고 있다고 생각합니다.

관리자가 스크립팅에 동기를 부여하는 방법은 무엇입니까? 어려운 전화, 좋은 관리자는 게으른 관리자이며 가능한 한 많이 스크립트를 작성하는 관리자를 의미합니다. 클릭 할 시간이있는 관리자는 생산성이 떨어집니다! 너무 많은 작업으로 관리자에게 과부하를 가해 스크립트를 작성하는 것 외에는 선택의 여지가 없습니다.


답변

나는 당신의 게시물에 전적으로 동의합니다. 불행히도 스크립트 사용 을 강제 하는 관리 및 프로세스의 지원 없이는 할 수있는 일이 많지 않다고 생각 합니다. 선택이 주어지면 사람들은 항상 친숙하고 쉬운 것을 다룰 것입니다. 때때로 이것은 부정적인 점처럼 보일 수 있지만 단순성과 친숙 함이 더할 때가 있습니다.

한편으로, Windows 시스템은 암시 적으로 단순 / 간단한 것이지만 Unix / Linux 시스템은 훨씬 더 어렵고 용서할 수 없습니다. 그렇다면 누가 가장 저항이 적은 길을 가졌다 고 관리자를 비난 할 수 있습니까? 당신이나 나 또는 다른 많은 사람들이 스크립팅의 힘을 인식 할 수 있지만 사람들은 결국 어떤 방식 으로든 배우게 될 것 입니다. 일반적으로 스크립팅을 담당하는 관리자는 어려운 방법을 배웁니다. 나는 더 똑똑하게 일하는 것을 좋아하고 다른 사람들은 일하기를 좋아할 것입니다.

스크립팅이 실제로 장기적으로 도움이 될 수 있도록 관리자를 격려하고 동기를 부여하는 몇 가지 방법은 무엇입니까?

나는 당신이 사람들에게 동기를 부여 할 수 있다고 생각했지만, 실제로 당신이 그들에게 책임 이 없다면 성공적인 “동기 부여”의 가능성은 매우 낮습니다. 요즘 나의 태도는 : 배우고 싶은 사람들, 나는 도울 것이다. 그들이 원하는지 여부에 관계없이 아무도 원하지 않는 제품의 세일즈맨이되지 마십시오. 당신은 / 가르쳐 도우 때 하나 (어떤 이유) 동기를 사람, 그들은 변화를위한 촉매제가 될 것입니다. 너 말고. 내 두 센트.


답변

내가 지나가는 진언은 “더 똑똑하게 일하는 것”입니다. 프로세스를 몇 번 이상 수행하면 일반적으로 마우스 클릭, bash 스크립트 또는 기타 방법으로 자동으로 처리하도록 스크립트를 작성할 수있는 방법이 있습니다. 내가보기에, 이것은 개인적으로 시스템 관리의 “수동”이 아닌 더 중요한 작업을 수행 할 수있게 해줍니다.

스크립팅을 피하려는 사람들은 머리를 통해 여러 가지 일이 발생할 수 있습니다. 아마도 GUI 인터페이스를 즐기고 명령 줄이나 프로그래밍을 배우고 싶지 않을 것입니다. 어쩌면 그들은 무언가를 스크립팅함으로써 기본적으로 자신의 중요성을 줄이고 있다고 생각할 수도 있습니다. 어느 쪽이든, 이것은 내가 원하는 종업원이 아니며 어떤 종류의 스크립팅을 수행하는 것을 꺼려하여 어떤 종업원인지 보여줍니다. 차라리 “멍청한”시스템 관리자보다는 문제 해결사가 필요합니다.

그들을 격려하고 동기를 부여하는 한, 나는 당신이하고있는 것처럼하고 생산성의 이점을 보여주고 그것이 어떻게 작업을 더 쉽게 할 수 있는지 보여줍니다. 일부의 경우 Windows 시스템 관리자가되는 것은 단지 급여이며, 지난 10 년 동안 그들에게 도움이 된 포인트 앤 클릭 방식을 넘어서게 동기를 부여하기가 어렵습니다.


답변

많은 관리자들이 스크립팅만큼 낮은 수준의 프로그래밍에도 관여하고 싶지 않다는 것을 언급 한 몇 가지 문제를 극복해야합니다. 다른 하나는 이것과 관련이 있으며 이것은 통제의 문제입니다. 관리자가 수동으로 작업을 수행 할 때 각 단계에서 무슨 일이 일어나고 있는지 정확히 알 수 있습니다. 많은 관리자는이 스크립트를 스크립트로 바꾸면 특히 스크립트를 이해하지 못하고 스크립트를 작성하지 않았거나 작성하고 싶지 않은 경우 프로세스에 대한 제어 권한을 상실한다고 생각할 수 있습니다.

스크립팅은 오랫동안 Unix 관리의 큰 부분을 차지하고 있으며 일반적으로 Unix 관리자는 처음부터 Windows 관리 및 고유 GUI- 더 수동적 인 프로세스로 이어지고 스크립팅은 부 자연스럽게 보일 수 있습니다.

불행히도 개발자에게이 혹을 극복하는 것은 어려운 싸움입니다. 관리자는 여전히 자신이 통제하고 있다고 느끼기 위해서는 스크립트가 수행하는 작업을 이해해야하므로 실제로 스크립트 작성 방법을 이해하고 배워야합니다. 스크립트가 그들에게 무엇을 할 수 있는지 이해

모든 것이 더 빨라지고 삶이 더 쉬워 질 것이라고 말하지만, 당신은 그들에게 그것을 증명할 수 있습니까? 그들이 싫어하고 정기적으로해야 할 일을 찾아서 자동화하십시오. 이 끔찍한 작업을 수행하여 한 번의 클릭 스크립트로 만들 수 있다면, 그들은 당신을 사랑하지만, 더 중요한 것은 스크립트 사용의 이점을 볼 수 있습니다.


답변

[한숨] 이것은 Windows 세계에서 너무나 널리 퍼져 있지만, 대부분의 사람들이 조롱하고 스크립트를 배우기를 원하지 않는 것에 대한 귀하의 진술에 의문을 제기 할 것입니다. sysadmin 경력에서 내가 한 것 중 가장 위대한 것은 VB와 Perl을 배우는 것이었고, VBS를 이끌었고, 그 결과 많은 것들이있었습니다.

그들에게 동기를 부여하는 것이 효과가 없다면, 내가 좋아하는 한 가지 트릭은 경영진 앞에 미묘한 진술을 던지는 것입니다. 의사 결정자에게 혜택을 보여주십시오. 종종 그룹을 통해 확산되기 시작합니다. 그러나 그것에 대해 바보가되지 마십시오.

좀 더 미묘한 말로, 누군가를 바꾸는 것은 (불가능하지는 않지만) 어렵다. 예를 들면!