Ubah direktori Powershell $ profile

11

Saya ingin tahu cara mengubah lokasi saya ke variabel variabel $ profil.

PS H:\> $profile
H:\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

H: \ adalah pembagian jaringan, jadi ketika saya membuat file profil saya, dan memuat PowerShell saya mendapatkan yang berikut:

Peringatan Keamanan Jalankan hanya skrip yang Anda percayai. Meskipun skrip dari Internet dapat bermanfaat, skrip ini berpotensi membahayakan komputer Anda. Apakah Anda ingin menjalankan H: \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1? [D] Jangan jalankan [R] Jalankan sekali [S] Tunda Bantuan [?] (Standarnya adalah "D"):

Menurut Microsoft, lokasi $ profil ditentukan oleh variabel lingkungan% USERPROFILE% . Ini tidak benar:

PS H:\> $env:userprofile
C:\Users\username

Misalnya, saya memiliki mesin XP yang berfungsi seperti yang saya inginkan:

PS H:\> $profile
C:\Documents and Settings\username\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
PS H:\> $env:userprofile
C:\Documents and Settings\username
PS H:\> $env:homedrive
H:
PS H:\> $env:homepath
\

Inilah output yang sama dari mesin Vista di mana $ profil menunjuk ke tempat yang salah:

PS H:\> $profile
H:\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
PS H:\> $env:userprofile
C:\Users\username
PS H:\> $env:homedrive
H:
PS H:\> $env:homepath
\

Karena $ profil sebenarnya tidak ditentukan oleh% USERPROFILE% bagaimana cara mengubahnya? Jelas apa pun yang melibatkan mengubah homedrive atau homepath bukanlah solusi yang saya cari.

Swoogan
sumber
Apakah Anda memiliki profil roaming atau pengalihan folder dokumen saya (berdasarkan gpo)?
Shay Levy

Jawaban:

5

Anda mungkin juga memeriksa posting ini di Stack Overflow . Solusi terbaik yang ditawarkan sejauh ini (untuk pertanyaan saya yang hampir identik) adalah mengubah $ profile. AllUsersAllHosts menjadi "dot source" file lain yang Anda pilih.

Sejauh ini saya belum melihat apa pun yang mengindikasikan Anda dapat mengubah nilai default $ profile itu sendiri.

Frank Merrow
sumber
1
Ini adalah solusi untuk banyak kasus, tetapi itu bukan jawaban untuk kebutuhan OP.
villasv
3

Saya mengalami masalah serupa menggunakan Windows XP dan Windows 8 dari dalam mesin virtual VMware Fusion:

PS C:> $profile
\\vmware-host\Shared Folders\<user>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Setelah saya menghentikan mirroring 'Desktop' (saya menyimpan folder bersama), masalahnya teratasi:

PS C:> $profile
C:\Documents and Settings\Administrator\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
craibuc
sumber
Masalah yang sama di sini. Untuk referensi, pengaturannya di bawah Mesin Virtual / Pengaturan ... / Berbagi / Folder Cermin.
ngm
Tangkapan yang bagus. Saya harus menghapus centang pada mirroring "Documents", bahkan Desktop belum diperiksa. Saya kira mirroring menyebabkan masalah.
Miha Markic
1

Saya menggunakan Windows 10 dan mengalami masalah yang sama. Saya dapat memperbaikinya dengan mengubah Locationin Document Properties.

Saya $profiledirujuk oleh jalur UNC (mis. \\server\path\to\my\document\WindowsPowerShell\Microsoft.PowerShell_profile.ps1). Ketika Powershell mencoba melakukan ini, saya mendapat peringatan keamanan.

Untuk memperbaikinya:

  1. Buat drive yang dipetakan ke folder jaringan.
  2. Pergi ke This PCdan klik kanan Documentsfolder dan pilih Properties.

    Folder dokumen

  3. Perbarui Lokasi ke Jalur Drive yang Dipetakan

    Pengaturan Lokasi

  4. Klik OK atau terapkan.

Derek
sumber