새로운 Active Directory 사용자를 만들려는 스크립트 집합에 문제가 있습니다. 이 시점에서 나는 같은 이름의 폴더가 있는지 여부와 함께 예상 계정 이름이 이미 사용 중인지 테스트하려고합니다. 여기 Powershell TestPath 및 GetADuser 현재 위치 기반 문제
$UserNameToCheck = 'TTesterson'
$SamTest = $null
$SamTest = Get-ADUser -filter {samAccountName -eq $UserNameToCheck} -Server XX-DC.domain.ca
$PathToTest = '\\FileServer\Users$\' + $UserNameToCheck
$FolderTest = Test-Path $PathToTest
if(($SamTest -eq $null) -and ($FolderTest -eq $false))
{#Set a flag here and do some stuff}
이 문제의 내 스크립트를 실행하면 내 현재 위치를 설정하지 않았다면, 내가 특정 서버합니다 (-server 매개 변수)를 타겟팅 할 수 없습니다 : 아래는 제가 사용하고 무엇의 예입니다 AD로 : 비슷하게 AD로 설정하지 않으면 Test-Path를 사용할 수 없습니다. 왜 이런 일이 일어 났는지 설명 할 수 있습니까? 그리고 내 위치를 끊임없이 설정하고 따로 할 수있는 것은 무엇입니까? 둘 사이에?
감사합니다.
당신이 (당신이 그것의가 UNC 이후 안) 경로에 명시 적 드라이브가없는 경우
하나의 문제는 당신이 문자열을 만들 때 문자열에서 $ 탈출 또는 그 대신 큰 따옴표 작은 따옴표를 사용할 필요가 그 중 하나입니다. – EBGreen
나요? 공유 이름에 $ 문자를 사용하는 공유를 처리 중이며 이제는 작은 따옴표 나 큰 따옴표로 작업하는 것 같습니다. 현재 위치가 네트워크 드라이브 나 로컬 드라이브로 설정되어있는 한, 네트워크 리소스가 작성된대로 해당 리소스에 도달 할 수 있습니다. 현재 디렉토리가 AD 일 때만 실패합니다. 모범 사례는 실제로 작동하는지 여부에 관계없이 제대로 구축해야하므로 조언을 얻습니다. (ㅎ!) – AtomicReaction