2015-02-01 5 views
0

Я запутался, пытаясь автоматически войти в общий доступ на моем сервере через Powershell с помощью PSCredentials.Powershell PS Credentials

Вот код, который я сейчас использую без использования PSCredentials ...

#Login to server to copy installer files to desktop 
Remove-PSDrive P 
New-PSDrive -Name P -PSProvider FileSystem -Root \\192.168.1.85\Users2\Ross\Documents\Powershell -Credential Ross 
#Copies installer files from server to the local desktop 
Copy-Item -Path \\192.168.1.85\Users2\Ross\Documents\Powershell\ccsetup502.exe -Destination C:\Users\Ross\Desktop 
#Executes copied installers 
Start-Process C:\Users\Ross\Desktop\ccsetup502.exe -ArgumentList "/S" -Wait -Verb RunAs 
#Deletes leftover installer files 
Remove-Item C:\Users\Ross\Desktop\ccsetup502.exe 

А вот сайт я использую, чтобы помочь, но в зависимости от того, как я попробовать и применить его к моему собственному сценарию , он никогда не работает?

http://geekswithblogs.net/Lance/archive/2007/02/16/106518.aspx

Заранее спасибо!

Ross

+0

Какая ошибка вы получаете и на какой строке - линия New-PSDrive или строка Copy-Item? –

+1

'Росс' не является доверенным объектом. Вы можете использовать '-Credential (Get-Credential Ross)', который подскажет вам имя пользователя и пароль (с именем пользователя, предварительно заполненным «Ross»). Но было бы полезно узнать информацию, которую попросил @KeithHill. – briantist

ответ

0

Попробуйте это. Он будет предлагать вам кредиты, но вы всегда можете их создать и сохранить в переменной, если хотите.

#Login to server to copy installer files to desktop 
Remove-PSDrive P 
New-PSDrive -Name P -PSProvider FileSystem -Root \\192.168.1.85\Users2\Ross\Documents\Powershell -Credential (Get-Credential) 
#Copies installer files from server to the local desktop 
Copy-Item -Path \\192.168.1.85\Users2\Ross\Documents\Powershell\ccsetup502.exe -Destination C:\Users\Ross\Desktop 
#Executes copied installers 
Start-Process C:\Users\Ross\Desktop\ccsetup502.exe -ArgumentList "/S" -Wait -Verb RunAs 
#Deletes leftover installer files 
Remove-Item C:\Users\Ross\Desktop\ccsetup502.exe 
0

После некоторого упорства мне удалось решить эту проблему ...

Вероятно, стоит отметить, что я оставил удаление PSDrive там для целей тестирования, вы получите сообщение об ошибке, если сценарий не и вы попытаетесь запустить его снова после внесения изменений.

#Ensure previous PSDrive 'p' is removed 
Remove-PSDrive P 
#Creates new PSDrive 
New-PSDrive -Name P -PSProvider FileSystem -Root \\YOURSERVERNAMEHERE\YOURFILEPATHHERE 
#Login to server 
new-object -typename System.Management.Automation.PSCredential -argumentlist "YOURDOMAINORSERVERUSERNAMEHERE",$password 
#Copies installer files from server to the local desktop 
Copy-Item -Path \\YOURSERVERNAMEHERE\YOURFILEPATHHERE\ccsetup502.exe -Destination C:\YOURFILEPATHHERE 
#Executes copied installers, runs the installer silently, waits until the installer has completed 
Start-Process C:\YOURFILEPATHHERE\ccsetup502.exe -ArgumentList "/S" -Wait -Verb RunAs 
#Deletes leftover installer files 
Remove-Item C:\YOURFILEPATHHERE\ccsetup502.exe 

Надеюсь, это поможет кому-то, кто застрял в будущем!

Спасибо всем, кто внес свой вклад.

Смежные вопросы