用于导入PST的PowerShell脚本

用于导入PST的PowerShell脚本,powershell,import,exchange-server,pst,Powershell,Import,Exchange Server,Pst,我需要这个脚本的帮助 $data = Import-CSV C:\temp\import.csv ForEach ($i in $data){ $pstpath = "\\server\pst$\" + $i.folder + "\" $user = $i.user $folder = $i.folder Get-ChildItem -Recurse -path $pstpath -Filter *.pst | New-MailboxImportRequest -FilePath "$pstpa

我需要这个脚本的帮助

$data = Import-CSV C:\temp\import.csv
ForEach ($i in $data){
$pstpath = "\\server\pst$\" + $i.folder + "\"
$user = $i.user
$folder = $i.folder
Get-ChildItem -Recurse -path $pstpath -Filter *.pst | New-MailboxImportRequest -FilePath "$pstpath + $_.name" - Mailbox $user -Name "Import $user $_.name" -BadItemLimit 30 -ConflictResolutionOption KeepAll -TargetRootFolder $_.name -IsArchive -confirm: $false

}
文件夹中的每个pst都有以下错误:

无法将输入对象绑定到该命令的任何参数,因为该命令不接受管道 put或输入及其属性与接受管道输入的任何参数都不匹配。 +CategoryInfo:InvalidArgument:(archive.pst:PSObject)[New MailboxImportRequest],ParameterBindingException

+FullyQualifiedErrorId:InputObject NotBound,New-MailboxImportRequest

看起来像是
New-MailboxImportRequest
cmdlet不接受管道输入,如果接受管道输入,则必须从命令中删除“-FilePath”$pstpath+$\uName”部分

请尝试以下方法:

$data = Import-CSV C:\temp\import.csv
ForEach ($i in $data){

    $user = $i.user
    $folder = $i.folder
    $pstpath = "\\server\pst$\$folder"

    Get-ChildItem -Recurse -path $pstpath -Filter *.pst | Foreach-Object{
        New-MailboxImportRequest -FilePath $_.FullName - Mailbox $user -Name "Import $user $($_.Name)" -BadItemLimit 30 -ConflictResolutionOption KeepAll -TargetRootFolder $_.Name -IsArchive -Confirm:$false
    }

}

看起来,
New-MailboxImportRequest
cmdlet不接受管道输入,如果接受管道输入,则必须从命令中删除“-FilePath”$pstpath+$\.name”部分

请尝试以下方法:

$data = Import-CSV C:\temp\import.csv
ForEach ($i in $data){

    $user = $i.user
    $folder = $i.folder
    $pstpath = "\\server\pst$\$folder"

    Get-ChildItem -Recurse -path $pstpath -Filter *.pst | Foreach-Object{
        New-MailboxImportRequest -FilePath $_.FullName - Mailbox $user -Name "Import $user $($_.Name)" -BadItemLimit 30 -ConflictResolutionOption KeepAll -TargetRootFolder $_.Name -IsArchive -Confirm:$false
    }

}
我还有一个问题-TargetRotFolder现在是$93;.Name,文件夹的名称是Archive.pst。如何删除名称中的.pst?有可能吗?它正在工作:)我还有一个问题-TargetRotFolder现在是$93;.Name,文件夹的名称是Archive.pst。如何删除名称中的.pst?可能吗?