/ / (Powershell) Уверете се, че променливата се интерпретира като буквален низ - powershell, active-directory

(Powershell) Уверете се, че променливата се тълкува като буквален низ - powershell, активна директория

Работя по скриптове на 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

опитайте да използвате оператора на формат, не сте сигурни, че ще помогне, но може