A powershell szkriptemmel tesztelni szeretném, hogy a paraméterként megadott OU létezik e. Ezt a következő módon próbálom megtenni:
$OUPath = 'AD:\' + $OU;
if(Test-Path $OUPath)
{
Write-Host("The setted OU is valid!");
}
else
{
Write-Host("The setted OU is INVALID.");
return;
}
Ez a megoldás jó abban az esetben ha pl egy ilyen DN-t kap:
ou=Hungary,ou=Europe,ou=Hotels,dc=irfhf,dc=local
Hiszen ez a helyes.
Ha átírom az elejét, (Europe-->Eurrrope), akkor is szépen kezeli a hibát:
ou=Hungary,ou=Eurrrope,ou=Hotels,dc=irfhf,dc=local
DE, ha a root részt rontom el (dc=iiiiiirfhf,dc=local), akkor a következő hibát dobja szkript:
Test-Path : A referral was returned from the server
+ if(Test-Path $OUPath)
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (ou=Hungary,ou=E...c=rfhf,dc=local:String) [Test-Path], ADReferralException
+ FullyQualifiedErrorId : ADProvider:ItemExists::ADError,Microsoft.PowerShell.Commands.TestPathCommand
Próbáltam try-catchelné, de úgy is ugyanezt kapom...
(Megoldást keresve csak adsi-s megoldást találtam)
Köszönöm a segítséget előre is!