2016-11-18 8 views
0

私は、Windows PowerShellで作成する機能を作っていますpowershell関数の出力をtxtなどの出力ファイルに出力するにはどうすればよいですか?

function create(){ 
param(
$searchBase = "OU=Customers,DC=test,DC=nl", 
$NewOUs = @(Import-csv -Path $txt_csv.Text -Delimiter ";"), 
[switch]$ProtectOU 
) 

$Protect = $true 
If ($ProtectOU){$Protect = $true} 

<# ------- CREATE OU ------- #> 
foreach ($NewOU in $NewOUs) { 
    try { 
     New-ADOrganizationalUnit -Name $NewOU.company -Description $NewOU.description -Path $searchBase -ProtectedFromAccidentalDeletion $Protect 
     } 
    catch { 
     Write-Host "OU already exists" 
     } 
} 

$UserList = Import-Csv -Path $txt_csv.Text -Delimiter ";" 

<# ------- CREATE USERS ------- #> 
foreach ($User in $UserList) { 

    $OU = $User.path 
    $UPN = $User.UPN 
    $Password = $User.password 
    $Detailedname = $User.firstname + " " + $User.Lastname 
    $UserFirstname = $User.Firstname 
    $FirstLetterFirstname = $UserFirstname.substring(0,1) 
    $SAM = $User.UPN 
    $Company = $User.company 
    $Description = $User.description 
    $AccountExpirationDate = $User.accountexpirationdate 

    $params = @{ 'Name'=$Detailedname; 
       'SamAccountName'=$SAM; 
       'UserPrincipalName'=$UPN+'@test.nl'; 
       'DisplayName'=$Detailedname; 
       'GivenName'=$UserFirstname; 
       'Surname'=$User.Lastname; 
       'AccountPassword'=(ConvertTo-SecureString $Password -AsPlainText -Force); 
       'Enabled'=$True; 
       'PasswordNeverExpires'=$True; 
       'Path'=$OU; 
       'Company'=$Company; 
       'Description'=$Description; 
       'AccountExpirationDate'=$AccountExpirationDate 
       'HomeDrive' = "H:" 
       'HomeDirectory' = "\\home\userdata$\$SAM" 
       'ProfilePath'="\\dc-test\User Profiles$\$SAM"     
       } 

    New-ADUser @params 
} 

が、私はこれがTXTで例えば出力ファイルとして関数を作成します。

これは私のWPFのボタンオブジェクトである:私はボタンをクリックすると

$button_add.Add_Click({create}) 

は、出力が出力ファイルを生成しなければなりません。私はすでにそのような多くのソリューションを試しました:

作成|アウトファイルが、私は私が欲しい情報を得ることはありません:

ソース:https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/out-file

ことが可能ですが、これを行うには?

種類は、あなたが次のことをしたいと思う

+0

が、何をあなたは望みますか?おそらく例を挙げると? – 4c74356b41

+0

たとえば、作成されたデータ、正常に作成または失敗したデータなど。 – Fearcoder

答えて

0

について:

"processing New-ADUser with $params" | Out-File log.txt -Append 
try { 
    New-ADUser @params 
    "Created $UPN" | Out-File log.txt -Append 
} 
catch { 
    $_ | Out-File log.txt -Append 
} 

またはあなただけのアウトファイルに新しい-ADUserの出力を渡すことができます。

New-ADUser @params -PassThru | Out-File log.txt -Append 
+0

問題はありません。うれしいです! – 4c74356b41