2009-12-14 5 views
0

사용자가 Windows 네트워크를 매핑하는 로그온 스크립트가 있습니다. 요즘 일부 사용자는 터미널 서버에 로그인하고 있으며 로그인하는 컴퓨터 이름에 따라 다른 드라이브를 매핑하려고합니다.VBSCipt 로그온 스크립트 - 두 항목을 평가하고 이에 따라 공유를 할당하십시오.

내가 속한 사용자 AD 그룹 (부서별 그룹이므로 매핑 할 공유를 알고 있음)을보고 있습니다.

If IsAMemberOf(objNetwork.UserDomain, objNetwork.UserName, "Sales Dept. Users - Acton") Then MapIt "G:", "\\phillip\sales" 

컴퓨터 이름이 무엇인지 평가해야합니다.

기본 논리는 : 사용자가이 컴퓨터에서 판매 그룹에 가시-TS-01 경우,이 주를 매핑 \\ 가시-FIL-01 \ 판매; 그렇지 않은 경우 사용자가 인 경우 그룹 사용 \\ phillip \ sales입니다.

상당히 포괄적 인 스크립트 매핑 드라이브, 프린터 등입니다. VBScript 사용자는 오래 전에 사라 졌으므로 원격 사용자가 TS 서버에 대한 로컬 공유에 액세스 할 수 없습니다.

누구나 내가 검토 할 수있는 제안이나 샘플 코드를 제공 할 수 있습니까?

답변

0

컴퓨터 이름에 "-ts-"가 포함되어 있는지 확인하기 위해 컴퓨터 이름에 대한 검사를 추가 할 수 있습니다. 그렇다면 적절하게 매핑하십시오. 그것을 쓰는 많은 다른 방법들,하지만 여기에 제 것이 있습니다.

bDomainGroupMember = IsAMemberOf(objNetwork.UserDomain, objNetwork.UserName, "Sales Dept. Users - Acton") 
If bDomainGroupMember AND Not instr(objNetwork.ComputerName, "-ts-") > 0 Then  
    MapIt "G:", "\\phillip\sales" 
ElseIf bDomainGroupMember AND instr(objNetwork.ComputerName, "-ts-") > 0 Then 
    MapIt "G:", "\\bur-fil-01\sales" 
End If 

그래서 기본적으로, 나는 기능 쿼리를 꺼내 두 번 함수를 호출하지 않고 두 검사에 사용할 수 있도록 bDomanGroupMember에 값을 할당. 그런 다음 If/ElseIf는 사용자가 영업 도메인 그룹의 구성원인지, 사용자가 터미널 서버 세션에서 로그인했는지 여부를 확인합니다. 이름에 "-ts-"가있는 기계.

희망이 도움이됩니다.

관련 문제