Що я роблю неправильно в моєму скрипті повноважень


0

Гаразд тут річ. Я спробував зробити сценарій PowerShell, щоб створити кілька папок і змінити пару рядків у файлі .txt.

Але як можна здогадатися, це не працює. Дивіться мою конфігурацію нижче:

Start-Transcript
[string]$CustomerName = Read-host "Enter the company name of the customer (e.g. Companyname)"
write-host ""
[string]$Hostname = Read-host "Enter the FQDN of the customers machine (e.g. HV00.domain.local)"
write-host ""
[string]$Logon = Read-host "Enter te logon credentials of the customers machine (e.g. domain\user)"
write-host ""
[string]$Password = Read-host "Enter the password of the customers machine"
write-host ""

cd C:\Monitor\Logs
mkdir .\$CustomerName
cd C:\Monitor\Logs\$CustomerName
mkdir .\$Hostname
cd $Home

cd C:\Monitor\Scripts\CustomScript
mkdir .\$CustomerName
cd $Home

$InputFile = "C:\Monitor\Scripts\BaseScript\BaseScript.txt"
$OutputFile = "C:\Monitor\Scripts\CustomScript\$CustomerName\$CustomerName.txt"

Це не працює

(Get-Content $InputFile) | ForEach-Object { $_ 
-replace "hostname", "$Hostname" `
-replace "username@domainname", "$Logon" `
-replace "password", "$Password" } `
-replace "C:\Monitor\Logs\customername\hostname\", "C:\Monitor\Logs\$Customername\$Hostname\" 
} | Set-Content $OutputFile

Це працює, але я можу замінити лише один рядок

(Get-Content $InputFile) -replace "hostname", "$Hostname" > $OutputFile

Хтось має ідею?


Розбийте те, що не працює, на власні частини. Вкажіть, будь ласка, яка частина "що не працює" працює, а що не працює. Основна налагодження 101.
Рамхаунд

Відповіді:


0

Було б зручно, якщо ви також вставите помилку, яку ви отримуєте. Але у вас є один закритий фігурний кронштейн занадто багато в коді for-loop, який, мабуть, є:

-replace "password", "$Password" } `  <=== this one

btw, ви можете скоротити кількість коду створення підпапок, створивши одразу все дерево, з яким PowerShell може відмінно впоратися

mkdir c:\foo\bar\this\will\all\be\created\in\one\statement
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.