У меня есть вопрос, который я написал сценарий powershell, поэтому у меня есть имя.ps1, но у меня есть проблемы для его выполнения, я имею в виду, что я мог бы дебютировать с помощью Windows PowerShell (ISE), просто добавив к нему код и запустить ... но как я могу выполнить его другим?Выполнение сценария powershell
Когда я открываю обычный Windows PowerShell (так НЕ ISE) и я типа там script.ps1 FILE.CSV я получаю такую ошибку:
Это код, который у меня есть, может быть, им не собственно инициируя скрипт в моем коде я не знаю:
param ([string]$Csv)
function GetHelp() {
$HelpText = @"
DESCRIPTION:
NAME: Add-STUser
Adds Users from the User Csv File
PARAMETERS:
-Csv The Csv file Used by the script (Required)
-help Prints the HelpFile (Optional)
The Csv File is built up in the following way:
Firstname, Surname, Email
"@
$HelpText
}
function Get-Csv ([string]$Csv) {
$CsvFile = Import-Csv $Csv
$CsvFile | ForEach {
Add-User -Firstname $_.Firstname -Surname $_.Surname -Email $_.Email
}
}
function Add-User ([string]$Firstname, [string]$Surname, [string]$Email) {
# Set up AD Connectionstring
# Get A Unique Password
[string]$Password = Generate-Password
$username=$Firstname.substring(0,1).toLower() + $Surname.toLower()
# Create User in AD
$container =[ADSI] $Connection
$User = $container.Create("User", "cn="+$username)
$User.Put("sAMAccountName", $username)
$User.Put("givenName", $Firstname)
$User.Put("sn", $Surname)
$User.Put("mail", $Email)
$User.Put("displayName", $Firstname + " "+$Surname)
$User.SetInfo()
# Set Random Pwd and Enable Account
$User.PsBase.Invoke("SetPassword", $Password)
$User.PsBase.InvokeSet("AccountDisabled", $false)
$User.pwdLastSet = 0
$User.SetInfo()
# Write Pwd to File
$FileName = "PasswordList " + (get-date -uformat "%Y-%m-%d") + ".txt"
"$Firstname, $Surname, $username, $email, $Password" | Add-Content $FileName
Write-Host "Added User: $username" -ForegroundColor Green
# Set Check Variable to False
$Password = $Null
#$Script:sAMAccountNameDoesntExist = $False
#$Script:distinguishedNameDoesntExist = $False
}
if ($help) {
GetHelp
} elseif ($Domain -AND $Csv) {
Get-Csv -Csv $Csv
} else {
GetHelp
}
Так с другими словами, мне нужно, чтобы выполнить этот скрипт только с 1 парами (путь к файлу CSV)
Спасибо заранее
Вы даже прочитали сообщение, которое получили? – Joey