2010-09-14 25 views
25

Khi tôi chạy các dòng bên dưới từ tập lệnh, tệp sẽ được tạo trên máy cục bộ của tôi.Enter-PSSession không hoạt động trong tập lệnh Powershell của tôi

$cred = Get-Credential domain\DanTest 
Enter-PSSession -computerName xsappb01 -credential $cred 

New-Item -type file c:\temp\blahxsappk02.txt 

exit-pssession 

Khi tôi chạy từng dòng riêng lẻ từ bảng điều khiển powerhell, phiên từ xa được tạo đúng và tệp được tạo trên máy từ xa. Bất kỳ suy nghĩ về lý do tại sao? Có phải vấn đề thời gian là kịch bản có lẽ?

Trả lời

52

Không chắc chắn nếu đó là vấn đề về thời gian. Tôi nghi ngờ nó giống như Enter-PSSession là gọi một cái gì đó giống như một dấu nhắc lồng nhau và các lệnh tiếp theo của bạn không thực hiện bên trong nó. Dù sao, tôi tin rằng Enter/Exit-PSSession có nghĩa là để sử dụng tương tác - không sử dụng kịch bản. Đối với các tập lệnh sử dụng New-PSSession và chuyển phiên bản đó vào Invoke-Command, ví dụ:

$cred = Get-Credential domain\DanTest 
$s = New-PSSession -computerName xsappb01 -credential $cred 
Invoke-Command -Session $s -Scriptblock {New-Item -type file c:\temp\blah.txt} 
Remove-PSSession $s 
+0

Cảm ơn Keith - Tôi sẽ cho điều này vào ngày mai khi tôi quay lại văn phòng. –

+0

Điều đó dường như thực hiện thủ thuật. Một điều là dòng cuối cùng cần phải được loại bỏ-PSSession $ s –

+0

Cảm ơn, tôi đã cập nhật câu trả lời. –

Các vấn đề liên quan