저는 조용한 짧은 시간 동안 Powershell에서 프로그래밍하고 있습니다. 잠시 동안 잘 처리하지 못하는 몇 가지 기본 사항이 있습니다.XML을 사용하여 Powershell에서 변수를 채우십시오.
그래서 내가하려는 것은 데이터를 XML 파일에 미리 입력하여 해당 데이터를 사용하고 $ var를 powershell에 채운 다음 해당 var를 사용하여 Active Directory 특성을 변경하는 것입니다. 변경 광고 특성에 대해,하지만 XML 파일을 호출하여 자동화 프로세스가 내 var를 채우기 위해 단순히 전혀 작동하지 않습니다. 나는 내가 가지고있는 방법을 사용하지 않고 있다고 생각하며, 그래서 나는 도움을 요청하고있다. (나는 단지이 사이트를 선언 한 경우)
는 여기에 내가 var에 이름 $ 대상을 "-match"location.site.city를 사용하려면
<Location>
<Site>
<City>Alma</City>
<Street>333 Pont Champlain Street</Street>
<POBox></POBox>
<State>Ontario</State>
<Zip>G1Q 1Q9</Zip>
<Country>CA</Country>
<OfficePhone>+1 555-555-2211</OfficePhone>
</Site>
<Site>
<City>Dolbeau</City>
<Street>2525 Avenue du Pinpont</Street>
<POBox></POBox>
<State>Quebec</State>
<Zip>G2Q 2Q9</Zip>
<Country>CA</Country>
<OfficePhone>+1 555-555-3000</OfficePhone>
</Site>
</Location>
내 XML 파일입니다. 은 $ 대상 경기 도시 경우, VAR
$Newcity = location.site.city
$NewStreet = location.site.street
$NewState = location.site.state
등 등
여기에 내가했던 스크립트의 일부입니다 채우기하지만 내가 원하는 결과를 얻을 수 없습니다. 문이 적절하지 않으면 내 foreach 문 내 뒤에 생각하는 원인
$var1 = ""
$Street = ""
$Destination = "Alma"
[xml]$SiteAttribute = Get-Content SitesAttributes.xml
foreach($City in $SiteAttribute.location.Site){
$var1 = $site.city
If ($var1 -match $Destination){
$NewStreet = $Site.Street
$NewCity = $Site.city
$NewPoBox = $site.POBox
$NewState = $site.State
$Newzip = $Site.zip
$NewCountry = $Site.country
$NewPhone = $Site.OfficePhone
}
}
그럼, 타 PowerShell 명령
##Normal AD module come with W2k8
Import-Module ActiveDirectory
Set-ADUser $username -server $dc -StreetAddress $NewStreet -City $NewCity -State $NewState -PostalCode $NewZip -OfficePhone $NewPhone -Country $NewCountry
그러나 내 모든 시도의 faild 내 AD 속성을 변경하는 VAR를 사용합니다 내가 원하는 과정을 위해서. 어떤 충고 ? 존
그렇습니다. 나는 Thumbs up @ C.B를 말할 것이다. 고마워, 멀지 않았지만 XML 파일로 작업하는 데 익숙하지 않아 실수를하기 쉽습니다. – lotirthos227