Работя по скриптове на Powershell, за да вземаизбор на главни имена на AD, изтеглете пълните DN за тях и предприемете действия по въпросните акаунти. Активните части вече работят добре, но срещам злополучен проблем - няколко от AD обектите имат имена, които започват с $, IE $ DUPLICATE-c1870
Това означава, че когато ги изведа на променлива, след което я прочета по-късно, тя се опитва да интерпретира променливата. Засега направих корекция, като дефинирах ръчно
$duplicate="$duplicate"
Но това A: зависи от това, че е единственото такова име и B: обижда чувството ми за елегантност.
Аз съм сравнително нов в powerhell, така че е изцялоВъзможно е да ми липсва нещо очевидно, но не мога да намеря начин да добавя единичните кавички към низа (защото е издърпан от самата променлива) или към стъпката на вмъкване.
Съответният раздел от кода следва:
# Import AD Module
import-module ActiveDirectory
# Define fake variable for edge cases
$duplicate="$duplicate"
# Import the data from CSV file and assign it to variable
$Imported_csv = Import-Csv -Path
"C:scriptsADremediationthreecomputers.csv" -delimiter ";"
$Imported_csv | ForEach-Object{
# Retrieve DN of User.
$1=$_.PrincipalName
Write-output $1 |timestamp
$UserDN = (Get-adcomputer -Identity $1).distinguishedName
Echo $userDN
Отговори:
0 за отговор № 1( Get-ADComputer -Identity ("{0}" -f $1) ).distinguishedName
опитайте да използвате оператора на формат, не сте сигурни, че ще помогне, но може